<template>
  <div class="page_root" data-page-name="项目月度目标管理" data-page-identification="d_31twi2gmpu">
    <a-spin :spinning="pageLoading.loading" :tip="pageLoading.tip">
      <!-- begin vid_6vchoxzzd7 新增失败提示_sbp0z4yyvd -->
      <!-- end vid_6vchoxzzd7 新增失败提示_sbp0z4yyvd -->
      <!-- begin vid_4d7m038x8l 新增成功提示_0x4w314w5y -->
      <!-- end vid_4d7m038x8l 新增成功提示_0x4w314w5y -->
      <!-- begin vid_5cjs5b7zwu 编辑失败提示_lfz1db825w -->
      <!-- end vid_5cjs5b7zwu 编辑失败提示_lfz1db825w -->
      <!-- begin vid_3ge9w3tkmt 编辑成功提示_op0ym5whzd -->
      <!-- end vid_3ge9w3tkmt 编辑成功提示_op0ym5whzd -->
      <!-- begin vid_dc8ercav92 删除成功提示_3bm5lj7wsn -->
      <!-- end vid_dc8ercav92 删除成功提示_3bm5lj7wsn -->
      <!-- begin vid_fnix8yiw0j 删除失败提示_zixb8tiaja -->
      <!-- end vid_fnix8yiw0j 删除失败提示_zixb8tiaja -->
      <!-- begin vid_cvcmrdwm9m 提交成功 -->
      <!-- end vid_cvcmrdwm9m 提交成功 -->
      <!-- begin vid_fwsr4lepna 失败 -->
      <!-- end vid_fwsr4lepna 失败 -->
      <!-- begin vid_1uorumrwe8 删除 -->
      <a-modal class="vid_1uorumrwe8" v-model:visible="vid_1uorumrwe8_props.visible" :centered="true" :title="'删除'"
        :maskClosable="false" :width="320" @cancel="handle_vid_1uorumrwe8_cancel" @ok="handle_vid_1uorumrwe8_ok">
        <!-- begin vid_konc4jwof9 简单文本_ch8bfmvo29 -->
        <span class="vid_konc4jwof9"> 确认删除此内容？ </span>
        <!-- end vid_konc4jwof9 简单文本_ch8bfmvo29 -->
      </a-modal>
      <!-- end vid_1uorumrwe8 删除 -->
      <!-- begin vid_2ekcxdcb76 新建月度目标 -->
      <a-modal class="vid_2ekcxdcb76" v-model:visible="vid_2ekcxdcb76_props.visible" :centered="true" :title="'新建月度目标'"
        :maskClosable="false" :width="800" @cancel="handle_vid_2ekcxdcb76_cancel" @ok="handle_vid_2ekcxdcb76_ok">
        <!-- begin vid_mgp450whgc 表单容器_9vmoe23fka -->
        <a-form ref="vid_mgp450whgc_ref" class="vid_mgp450whgc" :model="l_jrk6ygirmy"
          :formModel="vid_mgp450whgc_props.formModel">
          <!-- begin vid_v5ezwrrqcd 表单项容器_d5ubp2wce1 -->
          <a-form-item name="f_geglg1pc8y" :rules="l_jrk6ygirmy_rules[`f_geglg1pc8y`]" class="vid_v5ezwrrqcd"
            :label-col='{ "span": 24 }' :wrapper-col='{ "span": 24 }'>
            <!-- begin vid_e2tegrtkf6 布局容器_50cgr2tun2 -->
            <div :style="{ width: '100%' }">
              <a-row class="vid_e2tegrtkf6" :slots="'12:12'">
                <a-col :span="12">
                  <!-- begin vid_u3qrmnfh7f 项目类型_7a78ub50b6 -->
                  <a-form-item name="f_geglg1pc8y" :rules="l_jrk6ygirmy_rules[`f_geglg1pc8y`]" class="vid_u3qrmnfh7f"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_jpcljdshdc 新增projectType_1vn49uay3j -->
                    <a-select class="vid_jpcljdshdc" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="l_jrk6ygirmy.f_geglg1pc8y" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_jpcljdshdc_props.selected"
                      :searchValue="vid_jpcljdshdc_props.searchValue" :options="vid_jpcljdshdc_options()"
                      @change="handle_vid_jpcljdshdc_change" @search="handle_vid_jpcljdshdc_search">
                    </a-select>
                    <!-- end vid_jpcljdshdc 新增projectType_1vn49uay3j -->
                    <template #label>
                      <!-- begin vid_zeheic9u8z 项目类型 -->
                      <span class="vid_zeheic9u8z"> 项目类型 </span>
                      <!-- end vid_zeheic9u8z 项目类型 -->
                    </template>
                  </a-form-item>
                  <!-- end vid_u3qrmnfh7f 项目类型_7a78ub50b6 -->
                </a-col>
                <a-col :span="12">
                  <!-- begin vid_7pj15dgism 表单项容器_lsm8qewf1l -->
                  <a-form-item name="t_mwr3fw2zmg" :rules="l_jrk6ygirmy_rules[`t_mwr3fw2zmg`]" class="vid_7pj15dgism"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_9a70zjwnuq 新增projectName_xqyhuwkscx -->
                    <a-select class="vid_9a70zjwnuq" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="l_jrk6ygirmy.t_mwr3fw2zmg" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_9a70zjwnuq_props.selected"
                      :searchValue="vid_9a70zjwnuq_props.searchValue" :options="vid_9a70zjwnuq_options()"
                      @focus="handle_vid_9a70zjwnuq_focus" @change="handle_vid_9a70zjwnuq_change"
                      @search="handle_vid_9a70zjwnuq_search">
                    </a-select>
                    <!-- end vid_9a70zjwnuq 新增projectName_xqyhuwkscx -->
                    <template #label>
                      <!-- begin vid_envpldl8r2 项目名称 -->
                      <span class="vid_envpldl8r2"> 项目名称 </span>
                      <!-- end vid_envpldl8r2 项目名称 -->
                    </template>
                  </a-form-item>
                  <!-- end vid_7pj15dgism 表单项容器_lsm8qewf1l -->
                </a-col>
              </a-row>
            </div>
            <!-- end vid_e2tegrtkf6 布局容器_50cgr2tun2 -->
            <!-- begin vid_yec0cncknk 表单项容器_zud7o4x0xx -->
            <a-form-item name="u_bbgajd9x6v" :rules="l_jrk6ygirmy_rules[`u_bbgajd9x6v`]" class="vid_yec0cncknk"
              :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
              <!-- begin vid_45ibbu1dze 新增totalMonthlyGoal_lzbas6m32d -->
              <a-textarea class="vid_45ibbu1dze" v-model:value="l_jrk6ygirmy.u_bbgajd9x6v" :placeholder="'请输入'"
                :autoSize="true"> </a-textarea>
              <!-- end vid_45ibbu1dze 新增totalMonthlyGoal_lzbas6m32d -->
              <template #label>
                <!-- begin vid_l3b7orcx28 项目总目标 -->
                <span class="vid_l3b7orcx28"> 项目总目标 </span>
                <!-- end vid_l3b7orcx28 项目总目标 -->
              </template>
            </a-form-item>
            <!-- end vid_yec0cncknk 表单项容器_zud7o4x0xx -->
            <!-- begin vid_qz7yzwr7s2 布局容器_w93ob7ueos -->
            <div :style="{ width: '100%' }">
              <a-row class="vid_qz7yzwr7s2" :slots="'12:12'">
                <a-col :span="12">
                  <!-- begin vid_b7qe184l02 表单项容器_fmqp24qiou -->
                  <a-form-item name="f_vmnicsrkqn" :rules="l_jrk6ygirmy_rules[`f_vmnicsrkqn`]" class="vid_b7qe184l02"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_p6rzwl4c1f 新增teamLeader_mfjy6tetll -->
                    <a-select class="vid_p6rzwl4c1f" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="l_jrk6ygirmy.f_vmnicsrkqn" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_p6rzwl4c1f_props.selected"
                      :searchValue="vid_p6rzwl4c1f_props.searchValue" :options="vid_p6rzwl4c1f_options()"
                      @change="handle_vid_p6rzwl4c1f_change" @search="handle_vid_p6rzwl4c1f_search">
                    </a-select>
                    <!-- end vid_p6rzwl4c1f 新增teamLeader_mfjy6tetll -->
                    <template #label>
                      <!-- begin vid_zeq6vhhvk6 团队负责人 -->
                      <span class="vid_zeq6vhhvk6"> 团队负责人 </span>
                      <!-- end vid_zeq6vhhvk6 团队负责人 -->
                    </template>
                  </a-form-item>
                  <!-- end vid_b7qe184l02 表单项容器_fmqp24qiou -->
                </a-col>
                <a-col :span="12">
                  <!-- begin vid_el6c5d8y0c 表单项容器_ll8ntt9esz -->
                  <a-form-item name="j_okp2kg3z97" :rules="l_jrk6ygirmy_rules[`j_okp2kg3z97`]" class="vid_el6c5d8y0c"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_0eymfi3k2m 新增leader_99xgq2bdrh -->
                    <a-select class="vid_0eymfi3k2m" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="l_jrk6ygirmy.j_okp2kg3z97" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_0eymfi3k2m_props.selected"
                      :searchValue="vid_0eymfi3k2m_props.searchValue" :options="vid_0eymfi3k2m_options()"
                      @focus="handle_vid_0eymfi3k2m_focus" @change="handle_vid_0eymfi3k2m_change"
                      @search="handle_vid_0eymfi3k2m_search">
                    </a-select>
                    <!-- end vid_0eymfi3k2m 新增leader_99xgq2bdrh -->
                    <template #label>
                      <!-- begin vid_m8cdx2ukod 负责人 -->
                      <span class="vid_m8cdx2ukod"> 负责人 </span>
                      <!-- end vid_m8cdx2ukod 负责人 -->
                    </template>
                  </a-form-item>
                  <!-- end vid_el6c5d8y0c 表单项容器_ll8ntt9esz -->
                </a-col>
              </a-row>
            </div>
            <!-- end vid_qz7yzwr7s2 布局容器_w93ob7ueos -->
            <!-- begin vid_jvniwyfy5l 动作列表_miznp4o2r0 -->
            <al-action-list data-field-key="p_1t4o0o4sec" class="vid_jvniwyfy5l"
              v-model:dataSource="l_jrk6ygirmy.p_1t4o0o4sec" v-model:extendDataSource="vid_jvniwyfy5l_props.dataSource"
              v-model:current="vid_jvniwyfy5l_props.current" v-model:currentIndex="vid_jvniwyfy5l_props.currentIndex">
              <template #default="vid_jvniwyfy5l_dataItem">
                <!-- begin vid_wewjashnba 容器_rwhc7sp7tk -->
                <al-box :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_wewjashnba"> </al-box>
                <!-- end vid_wewjashnba 容器_rwhc7sp7tk -->
                <!-- begin vid_co9mxu6ics 表单项容器_scwst7vim1 -->
                <a-form-item :name="setSubFormName(vid_jvniwyfy5l_dataItem, `monthlyGoal`)"
                  :rules="l_jrk6ygirmy_rules[`monthlyGoal`]" :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex"
                  class="vid_co9mxu6ics" :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_roy69p291m 文本域_4s60pyuf5f -->
                  <a-textarea :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_roy69p291m"
                    v-model:value="vid_jvniwyfy5l_dataItem.dataItem.monthlyGoal" :placeholder="'请输入本月目标，符合公司战略、合理并有一定挑战~'"
                    :autoSize="true">
                  </a-textarea>
                  <!-- end vid_roy69p291m 文本域_4s60pyuf5f -->
                  <template #label>
                    <!-- begin vid_a11wd0p6k9 月度目标 -->
                    <span :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_a11wd0p6k9"> 月度目标 </span>
                    <!-- end vid_a11wd0p6k9 月度目标 -->
                  </template>
                </a-form-item>
                <!-- end vid_co9mxu6ics 表单项容器_scwst7vim1 -->
                <!-- begin vid_am32epti6a 布局容器_4rn7043ogw -->
                <div :style="{ width: '100%' }">
                  <a-row :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_am32epti6a" :slots="'12:12'">
                    <a-col :span="12">
                      <!-- begin vid_yc573t1iyk 表单项容器_c0kwau91yg -->
                      <a-form-item :name="setSubFormName(vid_jvniwyfy5l_dataItem, `participants`)"
                        :rules="l_jrk6ygirmy_rules[`participants`]" :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex"
                        class="vid_yc573t1iyk" :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                        <!-- begin vid_s77p0uzo4i 下拉框_o6m2bohyao -->
                        <a-select :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_s77p0uzo4i"
                          :getPopupContainer="(node) => node.parentNode"
                          v-model:value="vid_jvniwyfy5l_dataItem.dataItem.participants" :showSearch="true" :filterOption="(input, option) => {
                            return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                          }" :showArrow="true" :placeholder="'请输入或选择'" :selected="vid_s77p0uzo4i_props.selected"
                          :searchValue="vid_s77p0uzo4i_props.searchValue" :options="vid_s77p0uzo4i_options()"
                          @focus="handle_vid_s77p0uzo4i_focus" @change="handle_vid_s77p0uzo4i_change"
                          @search="handle_vid_s77p0uzo4i_search">
                        </a-select>
                        <!-- end vid_s77p0uzo4i 下拉框_o6m2bohyao -->
                        <template #label>
                          <!-- begin vid_2i5lghbq5m 参与人 -->
                          <span :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_2i5lghbq5m"> 参与人 </span>
                          <!-- end vid_2i5lghbq5m 参与人 -->
                        </template>
                      </a-form-item>
                      <!-- end vid_yc573t1iyk 表单项容器_c0kwau91yg -->
                    </a-col>
                    <a-col :span="12">
                      <!-- begin vid_laacrlyox1 表单项容器_ec13qwquoo -->
                      <a-form-item :name="setSubFormName(vid_jvniwyfy5l_dataItem, `goalWeight`)"
                        :rules="l_jrk6ygirmy_rules[`goalWeight`]" :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex"
                        class="vid_laacrlyox1" :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                        <!-- begin vid_ys3jst38py 输入框_n6mzym0622 -->
                        <a-input :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_ys3jst38py"
                          v-model:value="vid_jvniwyfy5l_dataItem.dataItem.goalWeight" :placeholder="'请输入'">
                        </a-input>
                        <!-- end vid_ys3jst38py 输入框_n6mzym0622 -->
                        <template #label>
                          <!-- begin vid_zx2a4vi59u 绩效权重 -->
                          <span :data-cycle-index="vid_jvniwyfy5l_dataItem.cycleIndex" class="vid_zx2a4vi59u"> 绩效权重
                          </span>
                          <!-- end vid_zx2a4vi59u 绩效权重 -->
                        </template>
                      </a-form-item>
                      <!-- end vid_laacrlyox1 表单项容器_ec13qwquoo -->
                    </a-col>
                  </a-row>
                </div>
                <!-- end vid_am32epti6a 布局容器_4rn7043ogw -->
              </template>
            </al-action-list>
            <!-- end vid_jvniwyfy5l 动作列表_miznp4o2r0 -->
          </a-form-item>
          <!-- end vid_v5ezwrrqcd 表单项容器_d5ubp2wce1 -->
        </a-form>
        <!-- end vid_mgp450whgc 表单容器_9vmoe23fka -->
      </a-modal>
      <!-- end vid_2ekcxdcb76 新建月度目标 -->
      <!-- begin vid_z07ex1ii8f 编辑月度目标 -->
      <a-modal class="vid_z07ex1ii8f" v-model:visible="vid_z07ex1ii8f_props.visible" :centered="true" :title="'编辑月度目标'"
        :maskClosable="false" :width="800" @cancel="handle_vid_z07ex1ii8f_cancel" @ok="handle_vid_z07ex1ii8f_ok">
        <!-- begin vid_te77ow64kb 表单容器_ias1vcliep -->
        <a-form ref="vid_te77ow64kb_ref" class="vid_te77ow64kb" :model="a_5ecyoey8ie"
          :formModel="vid_te77ow64kb_props.formModel">
          <!-- begin vid_bgbu6gkass 表单项容器_3mzqa672f1 -->
          <a-form-item name="n_up26b240gw" :rules="a_5ecyoey8ie_rules[`n_up26b240gw`]" class="vid_bgbu6gkass"
            :label-col='{ "span": 24 }' :wrapper-col='{ "span": 24 }'>
            <!-- begin vid_hifqczn1t3 布局容器_ykdz61kfei -->
            <div :style="{ width: '100%' }">
              <a-row class="vid_hifqczn1t3" :slots="'12:12'">
                <a-col :span="12">
                  <!-- begin vid_uuboghmk56 表单项容器_4ojq949l4o -->
                  <a-form-item name="n_up26b240gw" :rules="a_5ecyoey8ie_rules[`n_up26b240gw`]" class="vid_uuboghmk56"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_4z5n9okpz4 编辑projectType下拉框_g3qm3uvmzu -->
                    <a-select class="vid_4z5n9okpz4" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="a_5ecyoey8ie.n_up26b240gw" :disabled="true" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_4z5n9okpz4_props.selected"
                      :searchValue="vid_4z5n9okpz4_props.searchValue" :options="vid_4z5n9okpz4_options()"
                      @change="handle_vid_4z5n9okpz4_change" @search="handle_vid_4z5n9okpz4_search">
                    </a-select>
                    <!-- end vid_4z5n9okpz4 编辑projectType下拉框_g3qm3uvmzu -->
                    <template #label>
                      <!-- begin vid_x4burxqk39 简单文本_9qm8z59i0p -->
                      <span class="vid_x4burxqk39"> 项目类型 </span>
                      <!-- end vid_x4burxqk39 简单文本_9qm8z59i0p -->
                    </template>
                  </a-form-item>
                  <!-- end vid_uuboghmk56 表单项容器_4ojq949l4o -->
                </a-col>
                <a-col :span="12">
                  <!-- begin vid_4lcgqobob3 表单项容器_gp7ea8u47o -->
                  <a-form-item name="k_5d92d7ug2y" :rules="a_5ecyoey8ie_rules[`k_5d92d7ug2y`]" class="vid_4lcgqobob3"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_5kkvmqm6yw 编辑projectName下拉框_3d5dowmbcz -->
                    <a-select class="vid_5kkvmqm6yw" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="a_5ecyoey8ie.k_5d92d7ug2y" :disabled="true" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_5kkvmqm6yw_props.selected"
                      :searchValue="vid_5kkvmqm6yw_props.searchValue" :options="vid_5kkvmqm6yw_options()"
                      @change="handle_vid_5kkvmqm6yw_change" @search="handle_vid_5kkvmqm6yw_search">
                    </a-select>
                    <!-- end vid_5kkvmqm6yw 编辑projectName下拉框_3d5dowmbcz -->
                    <template #label>
                      <!-- begin vid_mohe448rhe 简单文本_pwvl45itkt -->
                      <span class="vid_mohe448rhe"> 项目名称 </span>
                      <!-- end vid_mohe448rhe 简单文本_pwvl45itkt -->
                    </template>
                  </a-form-item>
                  <!-- end vid_4lcgqobob3 表单项容器_gp7ea8u47o -->
                </a-col>
              </a-row>
            </div>
            <!-- end vid_hifqczn1t3 布局容器_ykdz61kfei -->
            <!-- begin vid_43jxydj3ch 表单项容器_ztqek39mci -->
            <a-form-item name="u_foqd5727fo" :rules="a_5ecyoey8ie_rules[`u_foqd5727fo`]" class="vid_43jxydj3ch"
              :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
              <!-- begin vid_ya68y0awem 编辑totalMonthlyGoal文本域_zw1hjv35yh -->
              <a-textarea class="vid_ya68y0awem" v-model:value="a_5ecyoey8ie.u_foqd5727fo" :placeholder="'请输入'"
                :autoSize="true"> </a-textarea>
              <!-- end vid_ya68y0awem 编辑totalMonthlyGoal文本域_zw1hjv35yh -->
              <template #label>
                <!-- begin vid_lp9hjaf0a9 简单文本_73xfnik8k5 -->
                <span class="vid_lp9hjaf0a9"> 项目总目标 </span>
                <!-- end vid_lp9hjaf0a9 简单文本_73xfnik8k5 -->
              </template>
            </a-form-item>
            <!-- end vid_43jxydj3ch 表单项容器_ztqek39mci -->
            <!-- begin vid_p65xgnxr86 布局容器_fdcb0st7w4 -->
            <div :style="{ width: '100%' }">
              <a-row class="vid_p65xgnxr86" :slots="'12:12'">
                <a-col :span="12">
                  <!-- begin vid_driwhohr2l 表单项容器_t364vexzbu -->
                  <a-form-item name="d_acgmyo9z5v" :rules="a_5ecyoey8ie_rules[`d_acgmyo9z5v`]" class="vid_driwhohr2l"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_u9xecuyesk 编辑teamLeader下拉框_tw4do7ba8y -->
                    <a-select class="vid_u9xecuyesk" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="a_5ecyoey8ie.d_acgmyo9z5v" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_u9xecuyesk_props.selected"
                      :searchValue="vid_u9xecuyesk_props.searchValue" :options="vid_u9xecuyesk_options()"
                      @change="handle_vid_u9xecuyesk_change" @search="handle_vid_u9xecuyesk_search">
                    </a-select>
                    <!-- end vid_u9xecuyesk 编辑teamLeader下拉框_tw4do7ba8y -->
                    <template #label>
                      <!-- begin vid_9gybnfkv53 简单文本_3014uz6a5t -->
                      <span class="vid_9gybnfkv53"> 团队负责人 </span>
                      <!-- end vid_9gybnfkv53 简单文本_3014uz6a5t -->
                    </template>
                  </a-form-item>
                  <!-- end vid_driwhohr2l 表单项容器_t364vexzbu -->
                </a-col>
                <a-col :span="12">
                  <!-- begin vid_x5ohmrv0so 表单项容器_y3trl4a19t -->
                  <a-form-item name="o_sod2g0fh4d" :rules="a_5ecyoey8ie_rules[`o_sod2g0fh4d`]" class="vid_x5ohmrv0so"
                    :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                    <!-- begin vid_m8vk1sziu0 编辑leader下拉框_oqq8ope9ew -->
                    <a-select class="vid_m8vk1sziu0" :getPopupContainer="(node) => node.parentNode"
                      v-model:value="a_5ecyoey8ie.o_sod2g0fh4d" :filterOption="false" :showArrow="true"
                      :placeholder="'请选择'" :selected="vid_m8vk1sziu0_props.selected"
                      :searchValue="vid_m8vk1sziu0_props.searchValue" :options="vid_m8vk1sziu0_options()"
                      @change="handle_vid_m8vk1sziu0_change" @search="handle_vid_m8vk1sziu0_search">
                    </a-select>
                    <!-- end vid_m8vk1sziu0 编辑leader下拉框_oqq8ope9ew -->
                    <template #label>
                      <!-- begin vid_6y8q190l6u 简单文本_hnv3evgwff -->
                      <span class="vid_6y8q190l6u"> 负责人 </span>
                      <!-- end vid_6y8q190l6u 简单文本_hnv3evgwff -->
                    </template>
                  </a-form-item>
                  <!-- end vid_x5ohmrv0so 表单项容器_y3trl4a19t -->
                </a-col>
              </a-row>
            </div>
            <!-- end vid_p65xgnxr86 布局容器_fdcb0st7w4 -->
            <!-- begin vid_dh9kd3vrpm 动作列表_mlbyb66zk0 -->
            <al-action-list data-field-key="i_kvdfz2b14g" class="vid_dh9kd3vrpm"
              v-model:dataSource="a_5ecyoey8ie.i_kvdfz2b14g" v-model:extendDataSource="vid_dh9kd3vrpm_props.dataSource"
              v-model:current="vid_dh9kd3vrpm_props.current" v-model:currentIndex="vid_dh9kd3vrpm_props.currentIndex">
              <template #default="vid_dh9kd3vrpm_dataItem">
                <!-- begin vid_xi5c6ga49p 容器_dq1ir1cnuu -->
                <al-box :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_xi5c6ga49p"> </al-box>
                <!-- end vid_xi5c6ga49p 容器_dq1ir1cnuu -->
                <!-- begin vid_ws5db9i6gs 表单项容器_07skjtkp44 -->
                <a-form-item :name="setSubFormName(vid_dh9kd3vrpm_dataItem, `n_17f5kkh8bx`)"
                  :rules="a_5ecyoey8ie_rules[`n_17f5kkh8bx`]" :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex"
                  class="vid_ws5db9i6gs" :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_gxffvalq7k 文本域_bpiqulgz2y -->
                  <a-textarea :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_gxffvalq7k"
                    v-model:value="vid_dh9kd3vrpm_dataItem.dataItem.monthlyGoal" :placeholder="'请输入本月目标，符合公司战略、合理并有一定挑战~'"
                    :autoSize="true">
                  </a-textarea>
                  <!-- end vid_gxffvalq7k 文本域_bpiqulgz2y -->
                  <template #label>
                    <!-- begin vid_c9m7fsjxoc 简单文本_p83zzhee0j -->
                    <span :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_c9m7fsjxoc"> 月度目标 </span>
                    <!-- end vid_c9m7fsjxoc 简单文本_p83zzhee0j -->
                  </template>
                </a-form-item>
                <!-- end vid_ws5db9i6gs 表单项容器_07skjtkp44 -->
                <!-- begin vid_p29g6quspk 布局容器_14i9gss8vm -->
                <div :style="{ width: '100%' }">
                  <a-row :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_p29g6quspk" :slots="'12:12'">
                    <a-col :span="12">
                      <!-- begin vid_7ksu466c7m 表单项容器_8xvnd9rjhp -->
                      <a-form-item :name="setSubFormName(vid_dh9kd3vrpm_dataItem, `q_96wi7nd3cd`)"
                        :rules="a_5ecyoey8ie_rules[`q_96wi7nd3cd`]" :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex"
                        class="vid_7ksu466c7m" :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                        <!-- begin vid_v7bvb8hcof 下拉框_a608ycfffc -->
                        <a-select :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_v7bvb8hcof"
                          :getPopupContainer="(node) => node.parentNode"
                          v-model:value="vid_dh9kd3vrpm_dataItem.dataItem.participants" :showSearch="true"
                          :filterOption="false" :showArrow="true" :placeholder="'请输入或选择'"
                          :selected="vid_v7bvb8hcof_props.selected" :searchValue="vid_v7bvb8hcof_props.searchValue"
                          :options="vid_v7bvb8hcof_options()" @change="handle_vid_v7bvb8hcof_change"
                          @search="handle_vid_v7bvb8hcof_search">
                        </a-select>
                        <!-- end vid_v7bvb8hcof 下拉框_a608ycfffc -->
                        <template #label>
                          <!-- begin vid_7x6ye9mfuu 简单文本_hanow3nx0a -->
                          <span :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_7x6ye9mfuu"> 参与人 </span>
                          <!-- end vid_7x6ye9mfuu 简单文本_hanow3nx0a -->
                        </template>
                      </a-form-item>
                      <!-- end vid_7ksu466c7m 表单项容器_8xvnd9rjhp -->
                    </a-col>
                    <a-col :span="12">
                      <!-- begin vid_l96n2xuf0i 表单项容器_nsgoxnbz1f -->
                      <a-form-item :name="setSubFormName(vid_dh9kd3vrpm_dataItem, `b_fn4c9zz6s0`)"
                        :rules="a_5ecyoey8ie_rules[`b_fn4c9zz6s0`]" :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex"
                        class="vid_l96n2xuf0i" :label-col='{ "span": 8 }' :wrapper-col='{ "span": 16 }'>
                        <!-- begin vid_mztkiitmm9 输入框_k8qav47coe -->
                        <a-input :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_mztkiitmm9"
                          v-model:value="vid_dh9kd3vrpm_dataItem.dataItem.goalWeight" :placeholder="'请输入'">
                        </a-input>
                        <!-- end vid_mztkiitmm9 输入框_k8qav47coe -->
                        <template #label>
                          <!-- begin vid_s9tl0suvsg 简单文本_nz19d2e7jf -->
                          <span :data-cycle-index="vid_dh9kd3vrpm_dataItem.cycleIndex" class="vid_s9tl0suvsg"> 绩效权重
                          </span>
                          <!-- end vid_s9tl0suvsg 简单文本_nz19d2e7jf -->
                        </template>
                      </a-form-item>
                      <!-- end vid_l96n2xuf0i 表单项容器_nsgoxnbz1f -->
                    </a-col>
                  </a-row>
                </div>
                <!-- end vid_p29g6quspk 布局容器_14i9gss8vm -->
              </template>
            </al-action-list>
            <!-- end vid_dh9kd3vrpm 动作列表_mlbyb66zk0 -->
          </a-form-item>
          <!-- end vid_bgbu6gkass 表单项容器_3mzqa672f1 -->
        </a-form>
        <!-- end vid_te77ow64kb 表单容器_ias1vcliep -->
      </a-modal>
      <!-- end vid_z07ex1ii8f 编辑月度目标 -->
      <!-- begin vid_9k2usklhkx 容器_9qouxfqhbw -->
      <al-box class="vid_9k2usklhkx">
        <!-- begin vid_6fsugmexlx 表单容器_d9y3x6lcg4 -->
        <a-form ref="vid_6fsugmexlx_ref" class="vid_6fsugmexlx" :model="i_yujadol139"
          :formModel="vid_6fsugmexlx_props.formModel">
          <!-- begin vid_g8ermbd51z 布局容器_1xeluq4vkd -->
          <div :style="{ width: '100%' }">
            <a-row class="vid_g8ermbd51z" :slots="'6:6:6:6'">
              <a-col :span="6">
                <!-- begin vid_3w91r8ter9 表单项容器_oek434q74z -->
                <a-form-item name="p_h4c5p9vodu" :rules="i_yujadol139_rules[`p_h4c5p9vodu`]" class="vid_3w91r8ter9"
                  :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_aaqbkqrexk 日期区间_izd44xtny0 -->
                  <a-range-picker class="vid_aaqbkqrexk" :allowEmpty="[true, true]"
                    :getPopupContainer="(node) => node.parentNode" v-model:value="i_yujadol139.p_h4c5p9vodu"
                    :placeholder="['开始时间', '结束时间']" :format="'YYYY-MM'" :valueFormat="'YYYY-MM'" :picker="'month'"
                    :showTime="vid_aaqbkqrexk_props.showTime">
                  </a-range-picker>
                  <!-- end vid_aaqbkqrexk 日期区间_izd44xtny0 -->
                  <template #label>
                    <!-- begin vid_7fqyl2g5wi 月份筛选 -->
                    <span class="vid_7fqyl2g5wi"> 月份筛选 </span>
                    <!-- end vid_7fqyl2g5wi 月份筛选 -->
                  </template>
                </a-form-item>
                <!-- end vid_3w91r8ter9 表单项容器_oek434q74z -->
              </a-col>
              <a-col :span="6">
                <!-- begin vid_zokqr0z353 表单项容器_ob8lix6u7h -->
                <a-form-item name="k_5x7sh544ga" :rules="i_yujadol139_rules[`k_5x7sh544ga`]" class="vid_zokqr0z353"
                  :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_epi3u13aff 下拉复选框_63mq58uzyw -->
                  <a-select class="vid_epi3u13aff" :mode="'multiple'" :getPopupContainer="(node) => node.parentNode"
                    :filterOption="(input, option) => {
                      return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                    }" v-model:value="i_yujadol139.k_5x7sh544ga" :allowClear="true" :showArrow="true"
                    :placeholder="'请选择'" :selected="vid_epi3u13aff_props.selected" :options="vid_epi3u13aff_options()"
                    @change="handle_vid_epi3u13aff_change">
                  </a-select>
                  <!-- end vid_epi3u13aff 下拉复选框_63mq58uzyw -->
                  <template #label>
                    <!-- begin vid_dsho4h69pv 项目类型 -->
                    <span class="vid_dsho4h69pv"> 项目类型 </span>
                    <!-- end vid_dsho4h69pv 项目类型 -->
                  </template>
                </a-form-item>
                <!-- end vid_zokqr0z353 表单项容器_ob8lix6u7h -->
              </a-col>
              <a-col :span="6">
                <!-- begin vid_ozq88nxpnl 容器_ik44z6bl32 -->
                <al-box class="vid_ozq88nxpnl">
                  <!-- begin vid_prbahqiyzu 表单项容器_1t7q8do2dy -->
                  <a-form-item name="y_swqiga20z8" :rules="i_yujadol139_rules[`y_swqiga20z8`]" class="vid_prbahqiyzu"
                    :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                    <!-- begin vid_jizb7fpx2o 下拉复选框_vqvgespqdc -->
                    <a-select class="vid_jizb7fpx2o" :mode="'multiple'" :getPopupContainer="(node) => node.parentNode"
                      :filterOption="(input, option) => {
                        return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                      }" v-model:value="i_yujadol139.y_swqiga20z8" :allowClear="true" :showSearch="true"
                      :showArrow="true" :placeholder="'请选择'" :selected="vid_jizb7fpx2o_props.selected"
                      :options="vid_jizb7fpx2o_options()" @focus="handle_vid_jizb7fpx2o_focus"
                      @change="handle_vid_jizb7fpx2o_change">
                    </a-select>
                    <!-- end vid_jizb7fpx2o 下拉复选框_vqvgespqdc -->
                    <template #label>
                      <!-- begin vid_ah72s7plk6 项目名称 -->
                      <span class="vid_ah72s7plk6"> 项目名称 </span>
                      <!-- end vid_ah72s7plk6 项目名称 -->
                    </template>
                  </a-form-item>
                  <!-- end vid_prbahqiyzu 表单项容器_1t7q8do2dy -->
                </al-box>
                <!-- end vid_ozq88nxpnl 容器_ik44z6bl32 -->
              </a-col>
              <a-col :span="6">
                <!-- begin vid_idffc4r9aa 表单项容器_0etxd8vkll -->
                <a-form-item name="l_952iz0g3bs" :rules="i_yujadol139_rules[`l_952iz0g3bs`]" class="vid_idffc4r9aa"
                  :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_vnzaljx3j0 下拉复选框_bmlk4nuwlh -->
                  <a-select class="vid_vnzaljx3j0" :mode="'multiple'" :getPopupContainer="(node) => node.parentNode"
                    :filterOption="(input, option) => {
                      return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                    }" v-model:value="i_yujadol139.l_952iz0g3bs" :allowClear="true" :showArrow="true"
                    :placeholder="'请选择'" :selected="vid_vnzaljx3j0_props.selected" :options="vid_vnzaljx3j0_options()"
                    @change="handle_vid_vnzaljx3j0_change">
                  </a-select>
                  <!-- end vid_vnzaljx3j0 下拉复选框_bmlk4nuwlh -->
                  <template #label>
                    <!-- begin vid_ozrqe34oh3 团队负责人 -->
                    <span class="vid_ozrqe34oh3"> 团队负责人 </span>
                    <!-- end vid_ozrqe34oh3 团队负责人 -->
                  </template>
                </a-form-item>
                <!-- end vid_idffc4r9aa 表单项容器_0etxd8vkll -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_g8ermbd51z 布局容器_1xeluq4vkd -->
          <!-- begin vid_a61pnkn2qp 布局容器_w8esl6x5am -->
          <div :style="{ width: '100%' }">
            <a-row class="vid_a61pnkn2qp" :slots="'6:6:6:6'">
              <a-col :span="6">
                <!-- begin vid_7bfxv85aep 表单项容器_og8xoyjm81 -->
                <a-form-item name="r_fcqwmshiua" :rules="i_yujadol139_rules[`r_fcqwmshiua`]" class="vid_7bfxv85aep"
                  :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_d62kbgxa80 下拉复选框_2gfqnme4su -->
                  <a-select class="vid_d62kbgxa80" :mode="'multiple'" :getPopupContainer="(node) => node.parentNode"
                    :filterOption="(input, option) => {
                      return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                    }" v-model:value="i_yujadol139.r_fcqwmshiua" :allowClear="true" :showArrow="true"
                    :placeholder="'请选择'" :selected="vid_d62kbgxa80_props.selected" :options="vid_d62kbgxa80_options()"
                    @focus="handle_vid_d62kbgxa80_focus" @change="handle_vid_d62kbgxa80_change">
                  </a-select>
                  <!-- end vid_d62kbgxa80 下拉复选框_2gfqnme4su -->
                  <template #label>
                    <!-- begin vid_whithl0s89 简单文本_o9cr4dob5g -->
                    <span class="vid_whithl0s89"> 负责人 </span>
                    <!-- end vid_whithl0s89 简单文本_o9cr4dob5g -->
                  </template>
                </a-form-item>
                <!-- end vid_7bfxv85aep 表单项容器_og8xoyjm81 -->
              </a-col>
              <a-col :span="6">
                <!-- begin vid_0kmsab24fi 表单项容器_5yymsaeejx -->
                <a-form-item name="a_29in70vxh0" :rules="i_yujadol139_rules[`a_29in70vxh0`]" class="vid_0kmsab24fi"
                  :label-col='{ "span": 4 }' :wrapper-col='{ "span": 20 }'>
                  <!-- begin vid_ds8g5ya2b1 下拉复选框_75me870rf0 -->
                  <a-select class="vid_ds8g5ya2b1" :mode="'multiple'" :getPopupContainer="(node) => node.parentNode"
                    :filterOption="(input, option) => {
                      return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
                    }" v-model:value="i_yujadol139.a_29in70vxh0" :allowClear="true" :showArrow="true"
                    :placeholder="'请选择'" :selected="vid_ds8g5ya2b1_props.selected" :options="vid_ds8g5ya2b1_options()"
                    @focus="handle_vid_ds8g5ya2b1_focus" @change="handle_vid_ds8g5ya2b1_change">
                  </a-select>
                  <!-- end vid_ds8g5ya2b1 下拉复选框_75me870rf0 -->
                  <template #label>
                    <!-- begin vid_rbpiq0rjff 参与人 -->
                    <span class="vid_rbpiq0rjff"> 参与人 </span>
                    <!-- end vid_rbpiq0rjff 参与人 -->
                  </template>
                </a-form-item>
                <!-- end vid_0kmsab24fi 表单项容器_5yymsaeejx -->
              </a-col>
              <a-col :span="6">
                <!-- begin vid_ahv6ivca9q 容器_1l0xcwd961 -->
                <al-box class="vid_ahv6ivca9q">
                  <!-- begin vid_6li8fsork4 按钮_n1wrqn6ubx -->
                  <a-button class="vid_6li8fsork4" :type="'primary'" @click="handle_vid_6li8fsork4_click"> 查询 </a-button>
                  <!-- end vid_6li8fsork4 按钮_n1wrqn6ubx -->
                  <!-- begin vid_ak6ftls9ik 按钮_x29xe6ajy7 -->
                  <a-button class="vid_ak6ftls9ik" @click="handle_vid_ak6ftls9ik_click"> 重置 </a-button>
                  <!-- end vid_ak6ftls9ik 按钮_x29xe6ajy7 -->
                </al-box>
                <!-- end vid_ahv6ivca9q 容器_1l0xcwd961 -->
              </a-col>
              <a-col :span="6"> </a-col>
            </a-row>
          </div>
          <!-- end vid_a61pnkn2qp 布局容器_w8esl6x5am -->
        </a-form>
        <!-- end vid_6fsugmexlx 表单容器_d9y3x6lcg4 -->
        <!-- begin vid_0vdspa1zv6 容器_auh7giuypt -->
        <al-box class="vid_0vdspa1zv6">
          <!-- begin vid_z3oz84ld7a 布局容器_yzlaru31e7 -->
          <div :style="{ width: '100%' }">
            <a-row class="vid_z3oz84ld7a" :slots="'12:12'">
              <a-col :span="12">
                <!-- begin vid_d5352qj0ud 容器_ol2ey08qkj -->
                <al-box class="vid_d5352qj0ud">
                  <!-- begin vid_dh28zsf4vv 项目月度目标管理 -->
                  <span class="vid_dh28zsf4vv"> 项目月度目标管理 </span>
                  <!-- end vid_dh28zsf4vv 项目月度目标管理 -->
                </al-box>
                <!-- end vid_d5352qj0ud 容器_ol2ey08qkj -->
              </a-col>
              <a-col :span="12">
                <!-- begin vid_7ead2hx8yw 容器_h8tuiw1tea -->
                <al-box class="vid_7ead2hx8yw">
                  <!-- begin vid_8xrjmvnt6f 导出 -->
                  <a-button class="vid_8xrjmvnt6f"> 导出 </a-button>
                  <!-- end vid_8xrjmvnt6f 导出 -->
                  <!-- begin vid_jt2iwvkid9 按钮_uo2wqxgw26 -->
                  <a-button class="vid_jt2iwvkid9" @click="handle_vid_jt2iwvkid9_click"> 新建 </a-button>
                  <!-- end vid_jt2iwvkid9 按钮_uo2wqxgw26 -->
                  <!-- begin vid_jdpy1ke92p 编辑 -->
                  <a-button class="vid_jdpy1ke92p" @click="handle_vid_jdpy1ke92p_click"> 编辑 </a-button>
                  <!-- end vid_jdpy1ke92p 编辑 -->
                  <!-- begin vid_4mzl42h1wj 删除 -->
                  <a-button class="vid_4mzl42h1wj" @click="handle_vid_4mzl42h1wj_click"> 删除 </a-button>
                  <!-- end vid_4mzl42h1wj 删除 -->
                </al-box>
                <!-- end vid_7ead2hx8yw 容器_h8tuiw1tea -->
              </a-col>
            </a-row>
          </div>
          <!-- end vid_z3oz84ld7a 布局容器_yzlaru31e7 -->
          <!-- begin vid_m1cncbs9ua 表格_lb2jzvzxai -->
          <!-- 表格_lb2jzvzxai -->
          <a-table class="vid_m1cncbs9ua" :bordered="true" :sorter="vid_m1cncbs9ua_props.sorter"
            :editRowSaveLoading="vid_m1cncbs9ua_props.editRowSaveLoading" :currentRow="vid_m1cncbs9ua_props.currentRow"
            :selectedRowList="vid_m1cncbs9ua_props.selectedRowList" :data-source="tableDataSource"
            @change="handle_vid_m1cncbs9ua_change" :columns="vid_m1cncbs9ua_columns" :pagination="false"
            row-key="overallProjectId" @resizeColumn="(w, col) => handleResizeColumn(w, col, 'vid_m1cncbs9ua')"
            :scroll="{ x: 'max-content', scrollToFirstRowOnChange: true, }"
            :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped-even' : 'table-striped-odd')"
            :rowSelection="vid_m1cncbs9ua_props.rowSelection">
            <template #headerCell="{ title, column }">
              <span :style="textTruncate(column.width)">
                {{ title }}
                <template v-if="column.headerComment">
                  <img v-if="column.headerCommentConfig.iconType === 'CUSTOM' ||
                    (column.headerCommentConfig.icon &&
                      column.headerCommentConfig.icon.indexOf('base64') !== -1)
                    " :src="column.headerCommentConfig.icon" style="width: 14px;" alt="icon"
                    :title="column.headerCommentConfig.comment" />
                  <component v-else :is="column.headerCommentConfig.icon" :title="column.headerCommentConfig.comment" />
                </template>
              </span>
            </template>
            <template #bodyCell="{ text, column, record, index }">
              <!-- 操作列 -->
              <div v-if="column.dataIndex === 'vid_m1cncbs9ua_operation'" class="operation-cell">
                <!-- 默认分组 -->
                <span>
                  <a-button type="link" @click="handle_vid_m1cncbs9ua_clickBtn_40zfwb3kea(record)">关联任务</a-button>
                </span>
              </div>

              <!-- 序号列 -->
              <template v-if="column && column.dataIndex === 'vid_m1cncbs9ua_serialNumber'">
                {{ index + 1 }}
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"选择"} 列内容 -->
              <template v-if="column.dataIndex === 'custom1' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"目标月份"} 列内容 -->
              <template v-if="column.dataIndex === 'targetMonth' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"项目类型"} 列内容 -->
              <template v-if="column.dataIndex === 'projectType' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"项目名称"} 列内容 -->
              <template v-if="column.dataIndex === 'projectName' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"团队负责人"} 列内容 -->
              <template v-if="column.dataIndex === 'teamLeader' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"负责人"} 列内容 -->
              <template v-if="column.dataIndex === 'leader' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"月度总目标"} 列内容 -->
              <template v-if="column.dataIndex === 'totalMonthlyGoal' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"项目月度目标"} 列内容 -->
              <template v-if="column.dataIndex === 'projectMonthlyGoal' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"参与人"} 列内容 -->
              <template v-if="column.dataIndex === 'participants' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"目标权重"} 列内容 -->
              <template v-if="column.dataIndex === 'goalWeight' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"审批状态"} 列内容 -->
              <template v-if="column.dataIndex === 'approvalStatus' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"id"} 列内容 -->
              <template v-if="column.dataIndex === 'id' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
              <!-- {"type":"value","dataType":"STRING","link":"","value":"overallProjectId"} 列内容 -->
              <template v-if="column.dataIndex === 'overallProjectId' && !column.customRender">
                <text-table-cell :rowData="record" :conditionValueMap="vid_m1cncbs9ua_props.boundaryValueMap"
                  :dataSource="vid_m1cncbs9ua_props.contentDataSource[column.dataIndex]" :columnsConfig="column"
                  :value="text" />
              </template>
            </template>
          </a-table>
          <!-- end vid_m1cncbs9ua 表格_lb2jzvzxai -->
        </al-box>
        <!-- end vid_0vdspa1zv6 容器_auh7giuypt -->
      </al-box>
      <!-- end vid_9k2usklhkx 容器_9qouxfqhbw -->
    </a-spin>
  </div>
</template>
<script setup>
import {
  h, ref, reactive, toRaw, markRaw, watch, computed,
  onBeforeMount, onMounted, onBeforeUnmount, onUnmounted, onActivated, onDeactivated
} from "vue";
import { useRoute, useRouter } from 'vue-router';
const router = useRouter();
const route = useRoute();
import { get, post, put, del, request, requestWithHeaders } from '@/utils/http/Axios';
import {
  cloneDeep, isNullOrEmpty, isEmptyArr, isNullOrUnDef, localGet, isContained, isArray, isEmpty,
  merge, getDifferenceArray, isObject, traversalTreeStructure, checkCaseCondition, renderStringInTemplate, handleBreadcrumbJump, throttle
} from '@/utils/index';
import dayjs from 'dayjs';
import { getPagePcChartsDataSourceConvert } from '@/utils/chart';
import { message, notification, Modal } from 'ant-design-vue'
import { propertyFormatByNumber, propertyFormatByPercentage, propertyFormatByDate } from '@/utils/format';
/*** PUBLISH_EXEGESIS ***
import UserTableRecords from '@/model/UserTableRecords';
*** PUBLISH_EXEGESIS ***/

import TextTableCell from '@/components/page/tableCell/text.vue';
import NumberTableCell from '@/components/page/tableCell/number.vue';
import ProgressTableCell from '@/components/page/tableCell/progress.vue';
import OptionsTableCell from '@/components/page/tableCell/options.vue';
import DatePickerTableCell from '@/components/page/tableCell/datePicker.vue';
import RangePickerTableCell from '@/components/page/tableCell/rangePicker.vue';
import RangeNumberTableCell from '@/components/page/tableCell/rangeNumber.vue';
import BoolTableCell from '@/components/page/tableCell/bool.vue';

// 获取传入的流程ID
const props = defineProps({
  processInstanceId: {
    type: String
  }
})
const immediateWatch = (source, callback) => {
  watch(source, callback, { deep: true, immediate: true })
}



/* -------------------------- 属性定义 -------------------------- */

const setTimeOutList = [];
const pageLoading = reactive({
  loading: false,
  tip: undefined
});

const vid_6vchoxzzd7_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_4d7m038x8l_props = reactive({
  show: false,
  type: "success",
  content: "新增成功",
  duration: 3,
})

const vid_5cjs5b7zwu_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_3ge9w3tkmt_props = reactive({
  show: false,
  type: "success",
  content: "编辑成功",
  duration: 3,
})

const vid_dc8ercav92_props = reactive({
  show: false,
  type: "success",
  content: "删除成功",
  duration: 3,
})

const vid_fnix8yiw0j_props = reactive({
  show: false,
  type: "error",
  content: undefined,
  duration: 3,
})

const vid_cvcmrdwm9m_props = reactive({
  show: false,
  type: "success",
  content: "提交成功",
  duration: 3,
})

const vid_fwsr4lepna_props = reactive({
  show: false,
  type: "error",
  content: "各任务绩效权重相加不等于绩效总权重，请重试",
  duration: 3,
})

const vid_1uorumrwe8_props = reactive({
  visible: false,
})

const vid_2ekcxdcb76_props = reactive({
  visible: false,
})

const vid_mgp450whgc_props = reactive({
  formModel: { "f_geglg1pc8y": "", "t_mwr3fw2zmg": "", "u_bbgajd9x6v": "", "f_vmnicsrkqn": "", "j_okp2kg3z97": "", "p_1t4o0o4sec": "", "monthlyGoal": "", "participants": "", "goalWeight": "" },
})

const vid_jpcljdshdc_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_9a70zjwnuq_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_45ibbu1dze_props = reactive({
  value: "",
})

const vid_p6rzwl4c1f_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_0eymfi3k2m_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_jvniwyfy5l_props = reactive({
  dataSource: [{ "goalWeight": "", "monthlyGoal": "", "participants": [] }],
  current: { "goalWeight": "", "monthlyGoal": "", "participants": [] },
  currentIndex: -1,
})

const vid_roy69p291m_props = reactive({
  value: undefined,
})

const vid_s77p0uzo4i_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_ys3jst38py_props = reactive({
  value: undefined,
})

const vid_z07ex1ii8f_props = reactive({
  visible: false,
})

const vid_te77ow64kb_props = reactive({
  formModel: { "n_up26b240gw": "", "k_5d92d7ug2y": "", "u_foqd5727fo": "", "d_acgmyo9z5v": "", "o_sod2g0fh4d": "", "i_kvdfz2b14g": "", "n_17f5kkh8bx": "", "q_96wi7nd3cd": "", "b_fn4c9zz6s0": "" },
})

const vid_4z5n9okpz4_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_5kkvmqm6yw_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_ya68y0awem_props = reactive({
  value: undefined,
})

const vid_u9xecuyesk_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_m8vk1sziu0_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_dh9kd3vrpm_props = reactive({
  dataSource: [{ "goalWeight": "", "monthlyGoal": "", "participants": [] }],
  current: { "goalWeight": "", "monthlyGoal": "", "participants": [] },
  currentIndex: -1,
})

const vid_gxffvalq7k_props = reactive({
  value: undefined,
})

const vid_v7bvb8hcof_props = reactive({
  selected: { "option": {}, "value": "", "label": "" },
  searchValue: undefined,
  value: undefined,
})

const vid_mztkiitmm9_props = reactive({
  value: undefined,
})

const vid_6fsugmexlx_props = reactive({
  formModel: { "l_952iz0g3bs": [], "y_swqiga20z8": [], "k_5x7sh544ga": [], "p_h4c5p9vodu": "", "a_29in70vxh0": [], "r_fcqwmshiua": [] },
})

const vid_vnzaljx3j0_props = reactive({
  selected: { "option": [], "value": [], "label": [] },
  value: [],
})

const vid_jizb7fpx2o_props = reactive({
  selected: { "option": [], "value": [], "label": [] },
  value: [],
})

const vid_epi3u13aff_props = reactive({
  selected: { "option": [], "value": [], "label": [] },
  value: [],
})

const vid_aaqbkqrexk_props = reactive({
  showTime: undefined,
  value: undefined,
})

const vid_ds8g5ya2b1_props = reactive({
  selected: { "option": [], "value": [], "label": [] },
  value: [],
})

const vid_d62kbgxa80_props = reactive({
  selected: { "option": [], "value": [], "label": [] },
  value: [],
})

const vid_m1cncbs9ua_props = reactive({
  systemSort: [],
  sorter: {},
  editRowSaveLoading: {},
  currentRow: { "custom1": "", "targetMonth": "", "projectType": "", "projectName": "", "teamLeader": "", "leader": "", "totalMonthlyGoal": "", "projectMonthlyGoal": "", "participants": "", "goalWeight": "", "approvalStatus": "", "id": "", "overallProjectId": "" },
  selectedRowList: { "custom1": [], "custom2": [], "custom3": [], "custom4": [], "custom5": [], "custom6": [], "custom7": [], "custom8": [], "custom9": [], "custom10": [], "custom11": [], "targetMonth": [], "projectType": [], "projectName": [], "teamLeader": [], "leader": [], "totalMonthlyGoal": [], "projectMonthlyGoal": [], "participants": [], "goalWeight": [], "approvalStatus": [], "id": [], "overallProjectId": [] },
  totalNumber: "",
  rt_tableConfig: { "basic": { "title": "", "rowKey": "overallProjectId", "rowSelection": true, "showSequenceNumber": false, "rowEdit": { "editText": "编辑", "saveText": "保存", "cancelText": "取消" } }, "style": { "headerStyle": { "lintHeight": 40, "borderWidth": 1, "borderColor": "#D9D9D9", "backgroundColor": "#3875FF", "enableTextStyle": true, "fontFamily": "arial, helvetica, \"microsoft yahei\";", "fontSize": 14, "textWeight": "600", "textColor": "#FFFFFF" }, "contentStyle": { "lintHeight": 40, "borderWidth": 1, "borderColor": "#D9D9D9", "oddLineBackColor": "#FFFFFF", "evenLineBackColor": "#F8FAFC", "enableContentStyle": true, "fontFamily": "arial, helvetica, \"microsoft yahei\";", "fontSize": 14, "textWeight": "400", "textColor": "#262626" }, "paginationStyle": { "size": "default", "layout": "bottomRight" } }, "layout": { "operationColumnFixed": "default", "showHeader": true, "sticky": false }, "scroll": { "x": "max-content", "y": "", "scrollToFirstRowOnChange": true }, "pagination": { "enable": false, "sync": false, "current": 1, "pageSize": "14", "showSizeChanger": false, "pageSizeOptions": "10,20,30,40", "showTotal": false, "showQuickJumper": false, "simple": false, "hideOnSinglePage": false } },
  columnList: [
    {
      dataIndex: 'targetMonth',
      headerComment: false,
      title: '目标月份',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'projectType',
      headerComment: false,
      title: '项目类型',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'projectName',
      headerComment: false,
      title: '项目名称',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'teamLeader',
      headerComment: false,
      title: '团队负责人',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'leader',
      headerComment: false,
      title: '负责人',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'totalMonthlyGoal',
      headerComment: false,
      title: '月度总目标',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'projectMonthlyGoal',
      headerComment: false,
      title: '项目月度目标',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'participants',
      headerComment: false,
      title: '参与人',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'goalWeight',
      headerComment: false,
      title: '目标权重',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'approvalStatus',
      headerComment: false,
      title: '审批状态',
      groupTitle: '',
      ellipsis: false,
      contentAlign: 'left',
      customHeaderCell: () => ({ style: { 'text-align': 'left' } }),
      rowEdit: false,
      rowEditConditions: [],
      contentType: 'TEXT',
      contentConfig: { "format": null, "defaultStyle": null, "conditionStyle": [], "dataSourceConfig": null, "boolConfig": "collection" },
      // 使用插槽的列，设置单元格padding为0，padding样式在内容插槽中已加，以便内容插槽设置背景色时可以占满整个单元格；该样式会在计算属性生成列配置时加入customCell
      customCellStyle: { padding: 0 },
      resizable: true,
    },
    {
      dataIndex: 'vid_m1cncbs9ua_operation',
      title: '操作',
    },
  ],
  // 进行行合并所需的排序规则，必须将其加到排序字段的前面，以实现合并单元格
  rowMergeSort: [],
  // 完整的排序规则：需要将行合并的排序规则和排序字段的排序规则赋给该属性；调接口时会使用其作为排序条件
  systemSort: [],
  // 条件格式需要的边界值映射：key为边界值id，value为边界值数据
  boundaryValueMap: {},
  // 表格单元格内容渲染需要的外部数据源：key为列，value为该列单元格的外部数据源配置
  contentDataSource: {},
  // 选中表格行的配置
  rowSelection: {
    onChange(selectedRowKeys, selectedRows) {
      // 清空之前选中行的信息
      for (const key in vid_m1cncbs9ua_props.selectedRowList) {
        vid_m1cncbs9ua_props.selectedRowList[key] = [];
      }
      // 将新选中行的信息加入selectedRowList
      selectedRows.forEach(record => {
        // 将当前行的相关信息加入到选中行数据中
        for (const key in vid_m1cncbs9ua_props.selectedRowList) {
          vid_m1cncbs9ua_props.selectedRowList[key].push(record[key]);
        }
      });
    },
  },
})
// ---------------------------- 定义模型数据 ----------------------------

const l_jrk6ygirmy = reactive({ "u_bbgajd9x6v": "", "p_1t4o0o4sec": [{}] })


const a_5ecyoey8ie = reactive({ "i_kvdfz2b14g": [{}] })


const i_yujadol139 = reactive({ "l_952iz0g3bs": [], "y_swqiga20z8": [], "k_5x7sh544ga": [], "a_29in70vxh0": [], "r_fcqwmshiua": [] })

// ============================ 定义模型数据 ============================







const l_jrk6ygirmy_rules = reactive({

  f_geglg1pc8y: [
    { required: true, message: '请选择项目类型!', trigger: 'blur' },
  ],
  t_mwr3fw2zmg: [
    { required: true, message: '请选择项目名称!', trigger: 'blur' },
  ],
  u_bbgajd9x6v: [
    { required: true, message: '请输入项目总目标!', trigger: 'blur' },
  ],
  f_vmnicsrkqn: [
    { required: true, message: '请选择团队负责人!', trigger: 'blur' },
  ],
  j_okp2kg3z97: [
    { required: true, message: '请选择负责人!', trigger: 'blur' },
  ],
  monthlyGoal: [
    { required: true, message: '请输入月度目标!', trigger: 'blur' },
  ],


})








const a_5ecyoey8ie_rules = reactive({

  n_up26b240gw: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],
  k_5d92d7ug2y: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],
  u_foqd5727fo: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],
  d_acgmyo9z5v: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],
  o_sod2g0fh4d: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],
  n_17f5kkh8bx: [
    { required: true, message: '表单项容器!', trigger: 'blur' },
  ],


})



const i_yujadol139_rules = reactive({






})


// 处理校验
const setSubFormName = (parentInfo, name) => {
  return [parentInfo.parents, parentInfo.cycleIndex, name];
}


const vid_jpcljdshdc_options_raw = ref([{ "value": "平台项目", "label": "平台项目" }, { "value": "交付项目", "label": "交付项目" }])

const vid_jpcljdshdc_options = computed(() => {
  return () => vid_jpcljdshdc_options_raw.value
})



const vid_9a70zjwnuq_options_raw = ref([])

const vid_9a70zjwnuq_options = computed(() => {
  return (dataSource = vid_9a70zjwnuq_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.projectName,
        label: item.projectName,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_p6rzwl4c1f_options_raw = ref([{ "value": "郭永刚", "label": "郭永刚" }, { "value": "孟康建", "label": "孟康建" }, { "value": "叶丽文", "label": "叶丽文" }])

const vid_p6rzwl4c1f_options = computed(() => {
  return () => vid_p6rzwl4c1f_options_raw.value
})



const vid_0eymfi3k2m_options_raw = ref([])

const vid_0eymfi3k2m_options = computed(() => {
  return (dataSource = vid_0eymfi3k2m_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.name,
        label: item.name,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_s77p0uzo4i_options_raw = ref([])

const vid_s77p0uzo4i_options = computed(() => {
  return (dataSource = vid_s77p0uzo4i_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.name,
        label: item.name,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_4z5n9okpz4_options_raw = ref([{ "value": "1", "label": "option1" }, { "value": "2", "label": "option2" }])

const vid_4z5n9okpz4_options = computed(() => {
  return () => vid_4z5n9okpz4_options_raw.value
})



const vid_5kkvmqm6yw_options_raw = ref([{ "value": "1", "label": "option1" }, { "value": "2", "label": "option2" }])

const vid_5kkvmqm6yw_options = computed(() => {
  return () => vid_5kkvmqm6yw_options_raw.value
})



const vid_u9xecuyesk_options_raw = ref([{ "value": "郭永刚", "label": "郭永刚" }, { "value": "孟康建", "label": "孟康建" }, { "value": "叶丽文", "label": "叶丽文" }])

const vid_u9xecuyesk_options = computed(() => {
  return () => vid_u9xecuyesk_options_raw.value
})



const vid_m8vk1sziu0_options_raw = ref([])

const vid_m8vk1sziu0_options = computed(() => {
  return (dataSource = vid_m8vk1sziu0_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.name,
        label: item.name,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_v7bvb8hcof_options_raw = ref([{ "value": "1", "label": "option1" }, { "value": "2", "label": "option2" }])

const vid_v7bvb8hcof_options = computed(() => {
  return () => vid_v7bvb8hcof_options_raw.value
})



const vid_vnzaljx3j0_options_raw = ref([{ "value": "郭永刚", "label": "郭永刚" }, { "value": "孟康建", "label": "孟康建" }, { "value": "叶丽文", "label": "叶丽文" }])

const vid_vnzaljx3j0_options = computed(() => {
  return () => vid_vnzaljx3j0_options_raw.value
})



const vid_jizb7fpx2o_options_raw = ref([])

const vid_jizb7fpx2o_options = computed(() => {
  return (dataSource = vid_jizb7fpx2o_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.projectName,
        label: item.projectName,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_epi3u13aff_options_raw = ref([{ "value": "平台项目", "label": "平台项目" }, { "value": "交付项目", "label": "交付项目" }])

const vid_epi3u13aff_options = computed(() => {
  return () => vid_epi3u13aff_options_raw.value
})



const vid_ds8g5ya2b1_options_raw = ref([])

const vid_ds8g5ya2b1_options = computed(() => {
  return (dataSource = vid_ds8g5ya2b1_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.name,
        label: item.name,
        disabled: !!item.disabled
      }
    })
  }
})



const vid_d62kbgxa80_options_raw = ref([])

const vid_d62kbgxa80_options = computed(() => {
  return (dataSource = vid_d62kbgxa80_options_raw.value) => {
    return (dataSource || []).map(item => {
      return {
        ...item,
        value: item.name,
        label: item.name,
        disabled: !!item.disabled
      }
    })
  }
})

const tableDataSource = ref([
  {
    targetMonth: '2023-05',
    projectType: '交付',
    projectName: '吴变',
    teamLeader: '冯腾飞',
    leader: '孟康健',
    totalMonthlyGoal: 'asdasgfasugfasfasfasjhfaf按实际方法设计费卡号',
    projectMonthlyGoal: '暗算蛋发送',
    overallProjectId: 1
  },
  {
    targetMonth: '2023-06',
    projectType: '交付',
    projectName: '吴变',
    teamLeader: '冯腾飞',
    leader: '孟康健',
    totalMonthlyGoal: 'asdasgfasugfasfasfasjhfaf按实际方法设计费卡号',
    projectMonthlyGoal: '暗算蛋发送',
    overallProjectId: 2
  },
  {
    targetMonth: '2023-07',
    projectType: '交付',
    projectName: '吴变',
    teamLeader: '冯腾飞',
    leader: '孟康健',
    totalMonthlyGoal: 'asdasgfasugfasfasfasjhfaf按实际方法设计费卡号',
    projectMonthlyGoal: '暗算蛋发送',
    overallProjectId: 3
  },
  {
    targetMonth: '2023-07',
    projectType: '平台',
    projectName: '天工傲',
    teamLeader: '冯腾飞',
    leader: '孟康健',
    totalMonthlyGoal: '天工傲无敌超级',
    projectMonthlyGoal: '暗算蛋发送',
    overallProjectId: 3
  },
  {
    targetMonth: '2023-08',
    projectType: '交付',
    projectName: '吴变',
    teamLeader: '冯腾飞',
    leader: '孟康健',
    totalMonthlyGoal: 'asdasgfasugfasfasfasjhfaf按实际方法设计费卡号',
    projectMonthlyGoal: '暗算蛋发送',
    overallProjectId: 4
  },
])

const vid_m1cncbs9ua_options_raw = ref([])

const vid_m1cncbs9ua_options = computed(() => {
  return () => vid_m1cncbs9ua_options_raw.value
})

// 图表组件 新增projectType_1vn49uay3j 条件格式数据依赖 
const vid_jpcljdshdc_chartConditionDependencyMap = ref({
})
// 图表组件 新增projectName_xqyhuwkscx 条件格式数据依赖 
const vid_9a70zjwnuq_chartConditionDependencyMap = ref({
})
// 图表组件 新增teamLeader_mfjy6tetll 条件格式数据依赖 
const vid_p6rzwl4c1f_chartConditionDependencyMap = ref({
})
// 图表组件 新增leader_99xgq2bdrh 条件格式数据依赖 
const vid_0eymfi3k2m_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_o6m2bohyao 条件格式数据依赖 
const vid_s77p0uzo4i_chartConditionDependencyMap = ref({
})
// 图表组件 编辑projectType下拉框_g3qm3uvmzu 条件格式数据依赖 
const vid_4z5n9okpz4_chartConditionDependencyMap = ref({
})
// 图表组件 编辑projectName下拉框_3d5dowmbcz 条件格式数据依赖 
const vid_5kkvmqm6yw_chartConditionDependencyMap = ref({
})
// 图表组件 编辑teamLeader下拉框_tw4do7ba8y 条件格式数据依赖 
const vid_u9xecuyesk_chartConditionDependencyMap = ref({
})
// 图表组件 编辑leader下拉框_oqq8ope9ew 条件格式数据依赖 
const vid_m8vk1sziu0_chartConditionDependencyMap = ref({
})
// 图表组件 下拉框_a608ycfffc 条件格式数据依赖 
const vid_v7bvb8hcof_chartConditionDependencyMap = ref({
})
// 图表组件 下拉复选框_bmlk4nuwlh 条件格式数据依赖 
const vid_vnzaljx3j0_chartConditionDependencyMap = ref({
})
// 图表组件 下拉复选框_vqvgespqdc 条件格式数据依赖 
const vid_jizb7fpx2o_chartConditionDependencyMap = ref({
})
// 图表组件 下拉复选框_63mq58uzyw 条件格式数据依赖 
const vid_epi3u13aff_chartConditionDependencyMap = ref({
})
// 图表组件 下拉复选框_75me870rf0 条件格式数据依赖 
const vid_ds8g5ya2b1_chartConditionDependencyMap = ref({
})
// 图表组件 下拉复选框_2gfqnme4su 条件格式数据依赖 
const vid_d62kbgxa80_chartConditionDependencyMap = ref({
})
// 图表组件 表格_lb2jzvzxai 条件格式数据依赖 
const vid_m1cncbs9ua_chartConditionDependencyMap = ref({
})
/* ========================== 属性定义 ========================== */


/* -------------------------- 元素数据引用 -------------------------- */
// 组件 表单容器_9vmoe23fka ref 的引用
const vid_mgp450whgc_ref = ref(null);
// 组件 表单容器_ias1vcliep ref 的引用
const vid_te77ow64kb_ref = ref(null);
// 组件 表单容器_d9y3x6lcg4 ref 的引用
const vid_6fsugmexlx_ref = ref(null);

/* ========================== 元素数据引用 ========================== */


/* -------------------------- 页面数据 -------------------------- */

// 页面数据 编辑项目月度目标
const dataConnector_conn_zxxy8mbd0o_response = ref();
const dataConnector_conn_zxxy8mbd0o = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {
      leader: a_5ecyoey8ie.o_sod2g0fh4d,
      projectType: a_5ecyoey8ie.n_up26b240gw,
      overallProjectId: vid_m1cncbs9ua_props?.selectedRowList.overallProjectId,
      teamLeader: a_5ecyoey8ie.d_acgmyo9z5v,
      projectName: a_5ecyoey8ie.k_5d92d7ug2y,
      monthlyGoalObjectList: vid_dh9kd3vrpm_props?.dataSource,
      totalMonthlyGoal: a_5ecyoey8ie.u_foqd5727fo
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/edit/monthlyGoal';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params).then(async (resp) => {
      dataConnector_conn_zxxy8mbd0o_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 编辑项目月度目标时反显
const dataConnector_conn_s7immmtnq5_response = ref();
const dataConnector_conn_s7immmtnq5 = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/get/monthlyGoals/{id}';
    // 替换url中的变量
    url = url.replace('{id}', String(vid_m1cncbs9ua_props?.selectedRowList.overallProjectId))
    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return get(url, params).then(async (resp) => {
      dataConnector_conn_s7immmtnq5_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 查询负责人和参与人的下拉框
const dataConnector_conn_92s8iqkker_response = ref();
const dataConnector_conn_92s8iqkker = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/get/allUser';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return get(url, params).then(async (resp) => {
      dataConnector_conn_92s8iqkker_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 根据整体项目id删除项目月度目标
const dataConnector_conn_cfwq2zmcxm_response = ref();
const dataConnector_conn_cfwq2zmcxm = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/delete/monthlyGoals/{id}';
    // 替换url中的变量
    url = url.replace('{id}', String(vid_m1cncbs9ua_props?.selectedRowList.overallProjectId))
    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return del(url, { data: params }).then(async (resp) => {
      dataConnector_conn_cfwq2zmcxm_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 项目名称筛选框
const dataConnector_conn_ut6zi5khod_response = ref();
const dataConnector_conn_ut6zi5khod = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {

    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/get/platformAndDeliveryProjects';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return get(url, params).then(async (resp) => {
      dataConnector_conn_ut6zi5khod_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 新建项目月度目标
const dataConnector_conn_x1emk2dvie_response = ref();
const dataConnector_conn_x1emk2dvie = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {
      leader: l_jrk6ygirmy.j_okp2kg3z97,
      projectType: l_jrk6ygirmy.f_geglg1pc8y,
      overallProjectId: null,
      teamLeader: l_jrk6ygirmy.f_vmnicsrkqn,
      projectName: l_jrk6ygirmy.t_mwr3fw2zmg,
      monthlyGoalObjectList: vid_jvniwyfy5l_props?.dataSource,
      totalMonthlyGoal: l_jrk6ygirmy.u_bbgajd9x6v
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/add/monthlyGoal';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params).then(async (resp) => {
      dataConnector_conn_x1emk2dvie_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 获取项目月度目标管理列表
const dataConnector_conn_jo9jxyjisi_response = ref();
const dataConnector_conn_jo9jxyjisi = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {
      participantsList: i_yujadol139.a_29in70vxh0,
      targetMonthList: i_yujadol139.p_h4c5p9vodu,
      leaderList: i_yujadol139.r_fcqwmshiua,
      teamLeaderList: i_yujadol139.l_952iz0g3bs,
      projectTypeList: i_yujadol139.k_5x7sh544ga,
      projectNameList: i_yujadol139.y_swqiga20z8
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/get/monthlyGoals';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params).then(async (resp) => {
      dataConnector_conn_jo9jxyjisi_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}


// 页面数据 新建月度目标时项目名称下拉框
const dataConnector_conn_8avry7m8qj_response = ref();
const dataConnector_conn_8avry7m8qj = async (additionParams = {}) => {
  const exec = async () => {

    // 获取参数
    const params = {
      currentUserName: null,
      projectType: l_jrk6ygirmy.f_geglg1pc8y
    };

    // 注入附加的参数
    try {
      merge(params, additionParams);
    } catch (error) {
      console.log(error)
    }
    // 判断加载提示

    // 处理URL
    let url = '/ppm/api/v2/built-in-system-ppm/pmgf/get/projectNames';
    // 替换url中的变量

    // 排除空参数  日期组件重置后的空参数是[null] 或者[undefined]
    Object.keys(params).forEach(key => { if (params[key] === null) { delete params[key] } else if (Object.prototype.toString.call(params[key]) === '[object Object]') { Object.keys(params[key]).forEach(childKey => { if (params[key][childKey] === null || (Array.isArray(params[key][childKey]) && params[key][childKey].length === 1 && isNullOrUnDef(params[key][childKey]?.[0]))) { delete params[key][childKey] } }) } });
    return post(url, params).then(async (resp) => {
      dataConnector_conn_8avry7m8qj_response.value = resp;

      return resp;
    }).catch(async (e) => {


      return Promise.reject(e);
    }).finally(async () => {


    })
  }

  return await exec()

}

/* ========================== 页面数据 ========================== */


/* -------------------------- 响应 -------------------------- */

// 页面交互 关联任务
const response_joik55tjm0 = async () => {

  const openMode = 'current';
  const query = {
    id: vid_m1cncbs9ua_props?.currentRow.id
  };
  const jumpInfo = {
    path: '/app_50000005/page/50001641', // 跳转地址
    query
  };
  const routeUrl = router.resolve(jumpInfo);
  let url = routeUrl.href;
  // 判断是否是MicroApp的子应用
  const microAppData = window.__MICRO_APP_ENVIRONMENT__;
  if (microAppData) {
    const urlList = []
    Object.keys(jumpInfo.query).forEach(item => {
      const urlItem = item + '=' + jumpInfo.query[item];
      urlList.push(urlItem);
    })
    // 判断要跳转的地址是否是用户自定义输入的
    const customJumpPath = 'PAGE_LIST' === 'CUSTOM_PAGE' ? jumpInfo.query.iframe_url : jumpInfo.path;
    // 自定义跳转页面不是其他平台的菜单，则直接使用全路径
    if ('PAGE_LIST' === 'CUSTOM_PAGE' && customJumpPath.indexOf('/allin-app/') === -1) {
      url = jumpInfo.query.iframe_url + '?' + urlList.join("&");
    } else if (customJumpPath.indexOf('/allin-app/') !== -1) {
      // 目标页面是其他平台的菜单
      let jumpPath = customJumpPath.substring(customJumpPath.indexOf('/allin-app/'));
      // 配置有参数，需要加参数添加到路由后面
      if (urlList.length) {
        // 跳转的路径本身带有参数
        if (jumpPath.indexOf('?') !== -1) {
          jumpPath += '&' + urlList.join("&");
        } else {
          jumpPath += '?' + urlList.join("&");
        }
      }
      url = location.origin + jumpPath;
    } else {
      // 目标页面就是低代码项目本身的页面
      url = location.origin + '/allin-app' + customJumpPath;
    }
  }
  // 新窗口
  if (openMode === 'new') {
    window.open(url, '_blank');
  } else if (openMode === 'iframe') {
    _props.src = url;
  } else {
    if (microAppData) {
      window.location.href = url;
    } else {
      router.push(jumpInfo);
    }
  }


}


// 页面交互 新建提示
const response_dznh8zd9i8 = async () => {

  const branchList = [{
    conditionType: 'EQUALS',
    value: 200,
    exec: async () => {
      vid_4d7m038x8l_props.show = true;
    }
  }, {
    conditionType: 'NOT_EQUALS',
    value: 200,
    exec: async () => {
      vid_6vchoxzzd7_props.show = true;
    }
  }];

  const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_x1emk2dvie_response?.value?.code, item.conditionType, item.value));
  // 匹配到的分支
  if (matchBranch) {
    matchBranch.exec();
    return;
  }
  // 默认分支动作


}


// 页面交互 编辑提示
const response_ybughf8p1u = async () => {

  const branchList = [{
    conditionType: 'EQUALS',
    value: 200,
    exec: async () => {
      vid_3ge9w3tkmt_props.show = true;
    }
  }, {
    conditionType: 'NOT_EQUALS',
    value: 200,
    exec: async () => {
      vid_5cjs5b7zwu_props.show = true;
    }
  }];

  const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_zxxy8mbd0o_response?.value?.code, item.conditionType, item.value));
  // 匹配到的分支
  if (matchBranch) {
    matchBranch.exec();
    return;
  }
  // 默认分支动作


}


// 页面交互 删除提示
const response_srjnqp19mv = async () => {

  const branchList = [{
    conditionType: 'EQUALS',
    value: 200,
    exec: async () => {
      vid_dc8ercav92_props.show = true;
    }
  }, {
    conditionType: 'NOT_EQUALS',
    value: 200,
    exec: async () => {
      vid_fnix8yiw0j_props.show = true;
    }
  }];

  const matchBranch = branchList.find(item => checkCaseCondition(dataConnector_conn_cfwq2zmcxm_response?.value?.code, item.conditionType, item.value));
  // 匹配到的分支
  if (matchBranch) {
    matchBranch.exec();
    return;
  }
  // 默认分支动作


}

/* ========================== 响应 ========================== */


/* -------------------------- 函数 -------------------------- */

/* ========================== 函数 ========================== */


/* -------------------------- 页面参数 -------------------------- */

const pageParameter_state = reactive({
  'processInstanceId': props.processInstanceId,
})

/* ========================== 页面参数 ========================== */


/* -------------------------- 组件事件处理方法 -------------------------- */

// ---------------------------- 组件数据同步 ----------------------------
// 处理 新增失败提示_sbp0z4yyvd 的 content 属性关联
watch(() => dataConnector_conn_x1emk2dvie_response?.value?.message,
  () => { vid_6vchoxzzd7_props.content = dataConnector_conn_x1emk2dvie_response?.value?.message; },
  { deep: true })
// 处理 编辑失败提示_lfz1db825w 的 content 属性关联
watch(() => dataConnector_conn_zxxy8mbd0o_response?.value?.message,
  () => { vid_5cjs5b7zwu_props.content = dataConnector_conn_zxxy8mbd0o_response?.value?.message; },
  { deep: true })
// 处理 删除失败提示_zixb8tiaja 的 content 属性关联
watch(() => dataConnector_conn_cfwq2zmcxm_response?.value?.message,
  () => { vid_fnix8yiw0j_props.content = dataConnector_conn_cfwq2zmcxm_response?.value?.message; },
  { deep: true })
// 处理 新增leader_99xgq2bdrh 的 systemList 属性关联
watch(() => dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList,
  () => { vid_0eymfi3k2m_options_raw.value = dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList; },
  { deep: true })
// 处理 下拉框_o6m2bohyao 的 systemList 属性关联
watch(() => dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList,
  () => { vid_s77p0uzo4i_options_raw.value = dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList; },
  { deep: true })
// 处理 编辑projectType下拉框_g3qm3uvmzu 的 value 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.projectType,
  () => { a_5ecyoey8ie.n_up26b240gw = dataConnector_conn_s7immmtnq5_response?.value?.data?.projectType; },
  { deep: true })
// 处理 编辑projectName下拉框_3d5dowmbcz 的 value 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.projectName,
  () => { a_5ecyoey8ie.k_5d92d7ug2y = dataConnector_conn_s7immmtnq5_response?.value?.data?.projectName; },
  { deep: true })
// 处理 编辑totalMonthlyGoal文本域_zw1hjv35yh 的 value 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.totalMonthlyGoal,
  () => { a_5ecyoey8ie.u_foqd5727fo = dataConnector_conn_s7immmtnq5_response?.value?.data?.totalMonthlyGoal; },
  { deep: true })
// 处理 编辑teamLeader下拉框_tw4do7ba8y 的 value 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.teamLeader,
  () => { a_5ecyoey8ie.d_acgmyo9z5v = dataConnector_conn_s7immmtnq5_response?.value?.data?.teamLeader; },
  { deep: true })
// 处理 编辑leader下拉框_oqq8ope9ew 的 value 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.leader,
  () => { a_5ecyoey8ie.o_sod2g0fh4d = dataConnector_conn_s7immmtnq5_response?.value?.data?.leader; },
  { deep: true })


// 处理 编辑leader下拉框_oqq8ope9ew 的 systemList 属性关联
watch(() => dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList,
  () => { vid_m8vk1sziu0_options_raw.value = dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList; },
  { deep: true })
// 处理 动作列表_mlbyb66zk0 的 systemList 属性关联
watch(() => dataConnector_conn_s7immmtnq5_response?.value?.data?.monthlyGoalObjectList,
  () => { vid_dh9kd3vrpm_props.dataSource = dataConnector_conn_s7immmtnq5_response?.value?.data?.monthlyGoalObjectList; },
  { deep: true })
// 处理 下拉复选框_vqvgespqdc 的 systemList 属性关联
watch(() => dataConnector_conn_ut6zi5khod_response?.value?.data?.projectDtoList,
  () => { vid_jizb7fpx2o_options_raw.value = dataConnector_conn_ut6zi5khod_response?.value?.data?.projectDtoList; },
  { deep: true })
// 处理 下拉复选框_75me870rf0 的 systemList 属性关联
watch(() => dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList,
  () => { vid_ds8g5ya2b1_options_raw.value = dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList; },
  { deep: true })
// 处理 下拉复选框_2gfqnme4su 的 systemList 属性关联
watch(() => dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList,
  () => { vid_d62kbgxa80_options_raw.value = dataConnector_conn_92s8iqkker_response?.value?.data?.userDtoList; },
  { deep: true })
// 处理 表格_lb2jzvzxai 的 systemList 属性关联
watch(() => dataConnector_conn_jo9jxyjisi_response?.value?.data?.monthlyGoalManagementDtoList,
  () => { vid_m1cncbs9ua_options_raw.value = dataConnector_conn_jo9jxyjisi_response?.value?.data?.monthlyGoalManagementDtoList; },
  { deep: true })
// ============================ 组件数据同步 ============================

/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_1uorumrwe8_cancel = throttle(async (...params) => {
  vid_1uorumrwe8_props.visible = false;
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_1uorumrwe8_ok = throttle(async (...params) => {
  await dataConnector_conn_cfwq2zmcxm()
  vid_1uorumrwe8_props.visible = false;
  response_srjnqp19mv()
}, 500)
/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_2ekcxdcb76_cancel = throttle(async (...params) => {
  vid_2ekcxdcb76_props.visible = false;
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_2ekcxdcb76_ok = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  await vid_mgp450whgc_ref.value?.validate();
  await dataConnector_conn_x1emk2dvie()
  vid_2ekcxdcb76_props.visible = false;
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  try {
    await vid_mgp450whgc_ref.value?.resetFields();
  } catch (error) { console.log(error); }
  response_dznh8zd9i8()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_jpcljdshdc_change = throttle(async (...params) => {
  const [, option] = params;
  vid_jpcljdshdc_props.selected.label = option?.label;
  vid_jpcljdshdc_props.selected.value = option?.value;
  vid_jpcljdshdc_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_jpcljdshdc_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_jpcljdshdc_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_9a70zjwnuq_focus = throttle(async (...params) => {
  await dataConnector_conn_8avry7m8qj()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_9a70zjwnuq_change = throttle(async (...params) => {
  const [, option] = params;
  vid_9a70zjwnuq_props.selected.label = option?.label;
  vid_9a70zjwnuq_props.selected.value = option?.value;
  vid_9a70zjwnuq_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_9a70zjwnuq_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_9a70zjwnuq_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_p6rzwl4c1f_change = throttle(async (...params) => {
  const [, option] = params;
  vid_p6rzwl4c1f_props.selected.label = option?.label;
  vid_p6rzwl4c1f_props.selected.value = option?.value;
  vid_p6rzwl4c1f_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_p6rzwl4c1f_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_p6rzwl4c1f_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_0eymfi3k2m_focus = throttle(async (...params) => {
  await dataConnector_conn_92s8iqkker()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_0eymfi3k2m_change = throttle(async (...params) => {
  const [, option] = params;
  vid_0eymfi3k2m_props.selected.label = option?.label;
  vid_0eymfi3k2m_props.selected.value = option?.value;
  vid_0eymfi3k2m_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_0eymfi3k2m_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_0eymfi3k2m_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 focus 事件
*/
let handle_vid_s77p0uzo4i_focus = throttle(async (...params) => {
  await dataConnector_conn_92s8iqkker()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_s77p0uzo4i_change = throttle(async (...params) => {
  const [, option] = params;
  vid_s77p0uzo4i_props.selected.label = option?.label;
  vid_s77p0uzo4i_props.selected.value = option?.value;
  vid_s77p0uzo4i_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_s77p0uzo4i_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_s77p0uzo4i_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 对话框 的 cancel 事件
*/
let handle_vid_z07ex1ii8f_cancel = throttle(async (...params) => {
  vid_z07ex1ii8f_props.visible = false;
}, 500)
/**
* 处理元素 对话框 的 ok 事件
*/
let handle_vid_z07ex1ii8f_ok = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  await vid_te77ow64kb_ref.value?.validate();
  await dataConnector_conn_zxxy8mbd0o()
  vid_z07ex1ii8f_props.visible = false;
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  try {
    await vid_te77ow64kb_ref.value?.resetFields();
  } catch (error) { console.log(error); }
  response_ybughf8p1u()
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_4z5n9okpz4_change = throttle(async (...params) => {
  const [, option] = params;
  vid_4z5n9okpz4_props.selected.label = option?.label;
  vid_4z5n9okpz4_props.selected.value = option?.value;
  vid_4z5n9okpz4_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_4z5n9okpz4_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_4z5n9okpz4_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_5kkvmqm6yw_change = throttle(async (...params) => {
  const [, option] = params;
  vid_5kkvmqm6yw_props.selected.label = option?.label;
  vid_5kkvmqm6yw_props.selected.value = option?.value;
  vid_5kkvmqm6yw_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_5kkvmqm6yw_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_5kkvmqm6yw_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_u9xecuyesk_change = throttle(async (...params) => {
  const [, option] = params;
  vid_u9xecuyesk_props.selected.label = option?.label;
  vid_u9xecuyesk_props.selected.value = option?.value;
  vid_u9xecuyesk_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_u9xecuyesk_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_u9xecuyesk_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_m8vk1sziu0_change = throttle(async (...params) => {
  const [, option] = params;
  vid_m8vk1sziu0_props.selected.label = option?.label;
  vid_m8vk1sziu0_props.selected.value = option?.value;
  vid_m8vk1sziu0_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_m8vk1sziu0_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_m8vk1sziu0_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉框 的 change 事件
*/
let handle_vid_v7bvb8hcof_change = throttle(async (...params) => {
  const [, option] = params;
  vid_v7bvb8hcof_props.selected.label = option?.label;
  vid_v7bvb8hcof_props.selected.value = option?.value;
  vid_v7bvb8hcof_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉框 的 search 事件
*/
let handle_vid_v7bvb8hcof_search = throttle(async (...params) => {
  const [searchValue] = params;
  vid_v7bvb8hcof_props.searchValue = searchValue;
}, 500)
/**
* 处理元素 下拉复选框 的 change 事件
*/
let handle_vid_vnzaljx3j0_change = throttle(async (...params) => {
  const [, option] = params;
  vid_vnzaljx3j0_props.selected.label = option.map(item => item.label);
  vid_vnzaljx3j0_props.selected.value = option.map(item => item.value);
  vid_vnzaljx3j0_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉复选框 的 focus 事件
*/
let handle_vid_jizb7fpx2o_focus = throttle(async (...params) => {
  await dataConnector_conn_ut6zi5khod()
}, 500)
/**
* 处理元素 下拉复选框 的 change 事件
*/
let handle_vid_jizb7fpx2o_change = throttle(async (...params) => {
  const [, option] = params;
  vid_jizb7fpx2o_props.selected.label = option.map(item => item.label);
  vid_jizb7fpx2o_props.selected.value = option.map(item => item.value);
  vid_jizb7fpx2o_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉复选框 的 change 事件
*/
let handle_vid_epi3u13aff_change = throttle(async (...params) => {
  const [, option] = params;
  vid_epi3u13aff_props.selected.label = option.map(item => item.label);
  vid_epi3u13aff_props.selected.value = option.map(item => item.value);
  vid_epi3u13aff_props.selected.option = option;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_6li8fsork4_click = throttle(async (...params) => {
  await dataConnector_conn_jo9jxyjisi()
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_ak6ftls9ik_click = throttle(async (...params) => {
  // 这里组件可能还未初始化， 这里使用可选链的形式进行函数触发
  try {
    await vid_6fsugmexlx_ref.value?.resetFields();
  } catch (error) { console.log(error); }
  await dataConnector_conn_jo9jxyjisi()
}, 500)
/**
* 处理元素 下拉复选框 的 focus 事件
*/
let handle_vid_ds8g5ya2b1_focus = throttle(async (...params) => {
  await dataConnector_conn_92s8iqkker()
}, 500)
/**
* 处理元素 下拉复选框 的 change 事件
*/
let handle_vid_ds8g5ya2b1_change = throttle(async (...params) => {
  const [, option] = params;
  vid_ds8g5ya2b1_props.selected.label = option.map(item => item.label);
  vid_ds8g5ya2b1_props.selected.value = option.map(item => item.value);
  vid_ds8g5ya2b1_props.selected.option = option;
}, 500)
/**
* 处理元素 下拉复选框 的 focus 事件
*/
let handle_vid_d62kbgxa80_focus = throttle(async (...params) => {
  await dataConnector_conn_92s8iqkker()
}, 500)
/**
* 处理元素 下拉复选框 的 change 事件
*/
let handle_vid_d62kbgxa80_change = throttle(async (...params) => {
  const [, option] = params;
  vid_d62kbgxa80_props.selected.label = option.map(item => item.label);
  vid_d62kbgxa80_props.selected.value = option.map(item => item.value);
  vid_d62kbgxa80_props.selected.option = option;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_jt2iwvkid9_click = throttle(async (...params) => {
  vid_2ekcxdcb76_props.visible = true;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_jdpy1ke92p_click = throttle(async (...params) => {
  await dataConnector_conn_s7immmtnq5()
  vid_z07ex1ii8f_props.visible = true;
}, 500)
/**
* 处理元素 按钮 的 click 事件
*/
let handle_vid_4mzl42h1wj_click = throttle(async (...params) => {
  vid_1uorumrwe8_props.visible = true;
}, 500)
/**
* 处理元素 表格 的 clickBtn_40zfwb3kea 事件
*/
let handle_vid_m1cncbs9ua_clickBtn_40zfwb3kea = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_m1cncbs9ua_props.currentRow = record;
  response_joik55tjm0()
}, 500)
/**
* 处理元素 表格 的 change 事件
*/
let handle_vid_m1cncbs9ua_change = throttle(async (...params) => {
  // 处理分页器相关数据
  const [pagination, filters, sorter] = params;
  const { current, pageSize } = pagination;
  vid_m1cncbs9ua_props.rt_tableConfig.pagination.current = current;
  vid_m1cncbs9ua_props.rt_tableConfig.pagination.pageSize = pageSize;
  // 处理排序相关数据
  const { field, order } = sorter;
  const sorterList = [...vid_m1cncbs9ua_props.rowMergeSort];
  let sorterValue = {};
  if (order === 'descend') {
    sorterValue = { order: field, direction: 'DESC' }
  } else if (order === 'ascend') {
    sorterValue = { order: field, direction: 'ASC' }
  }
  sorterList.push(sorterValue);
  vid_m1cncbs9ua_props.systemSort = sorterList;
  vid_m1cncbs9ua_props.sorter = sorterValue;
}, 500)
/**
* 处理元素 表格 的 clickBtn_agyda2glki 事件
*/
let handle_vid_m1cncbs9ua_clickBtn_agyda2glki = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_m1cncbs9ua_props.currentRow = record;
}, 500)
/**
* 处理元素 表格 的 clickBtn_d3xdlj1wgk 事件
*/
let handle_vid_m1cncbs9ua_clickBtn_d3xdlj1wgk = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_m1cncbs9ua_props.currentRow = record;
}, 500)
/**
* 处理元素 表格 的 clickBtn_fa585vdazi 事件
*/
let handle_vid_m1cncbs9ua_clickBtn_fa585vdazi = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_m1cncbs9ua_props.currentRow = record;
}, 500)
/**
* 处理元素 表格 的 clickBtn_xrhah7ybpr 事件
*/
let handle_vid_m1cncbs9ua_clickBtn_xrhah7ybpr = throttle(async (...params) => {
  // 存储表格当前行数据
  const [record] = params;
  vid_m1cncbs9ua_props.currentRow = record;
}, 500)
/* ========================== 组件事件处理方法 ========================== */


/* -------------------------- 生命周期 -------------------------- */
onMounted(() => {
  dataConnector_conn_jo9jxyjisi()

});

onUnmounted(() => {
  // 销毁定时器
  setTimeOutList.forEach(({ repeat, timer }) => {
    repeat ? clearInterval(timer) : clearTimeout(timer);
  });
});

/* ========================== 生命周期 ========================== */


/* -------------------------- 数据关联处理 -------------------------- */

// 处理 新增失败提示_sbp0z4yyvd 全局消息
immediateWatch(
  () => vid_6vchoxzzd7_props.show,
  () => {
    if (vid_6vchoxzzd7_props.show) {
      message[vid_6vchoxzzd7_props.type](vid_6vchoxzzd7_props.content, vid_6vchoxzzd7_props.duration, () => {
        vid_6vchoxzzd7_props.show = false
      })
    }
  }
)
// 处理 新增成功提示_0x4w314w5y 全局消息
immediateWatch(
  () => vid_4d7m038x8l_props.show,
  () => {
    if (vid_4d7m038x8l_props.show) {
      message[vid_4d7m038x8l_props.type](vid_4d7m038x8l_props.content, vid_4d7m038x8l_props.duration, () => {
        vid_4d7m038x8l_props.show = false
      })
    }
  }
)
// 处理 编辑失败提示_lfz1db825w 全局消息
immediateWatch(
  () => vid_5cjs5b7zwu_props.show,
  () => {
    if (vid_5cjs5b7zwu_props.show) {
      message[vid_5cjs5b7zwu_props.type](vid_5cjs5b7zwu_props.content, vid_5cjs5b7zwu_props.duration, () => {
        vid_5cjs5b7zwu_props.show = false
      })
    }
  }
)
// 处理 编辑成功提示_op0ym5whzd 全局消息
immediateWatch(
  () => vid_3ge9w3tkmt_props.show,
  () => {
    if (vid_3ge9w3tkmt_props.show) {
      message[vid_3ge9w3tkmt_props.type](vid_3ge9w3tkmt_props.content, vid_3ge9w3tkmt_props.duration, () => {
        vid_3ge9w3tkmt_props.show = false
      })
    }
  }
)
// 处理 删除成功提示_3bm5lj7wsn 全局消息
immediateWatch(
  () => vid_dc8ercav92_props.show,
  () => {
    if (vid_dc8ercav92_props.show) {
      message[vid_dc8ercav92_props.type](vid_dc8ercav92_props.content, vid_dc8ercav92_props.duration, () => {
        vid_dc8ercav92_props.show = false
      })
    }
  }
)
// 处理 删除失败提示_zixb8tiaja 全局消息
immediateWatch(
  () => vid_fnix8yiw0j_props.show,
  () => {
    if (vid_fnix8yiw0j_props.show) {
      message[vid_fnix8yiw0j_props.type](vid_fnix8yiw0j_props.content, vid_fnix8yiw0j_props.duration, () => {
        vid_fnix8yiw0j_props.show = false
      })
    }
  }
)
// 处理 提交成功 全局消息
immediateWatch(
  () => vid_cvcmrdwm9m_props.show,
  () => {
    if (vid_cvcmrdwm9m_props.show) {
      message[vid_cvcmrdwm9m_props.type](vid_cvcmrdwm9m_props.content, vid_cvcmrdwm9m_props.duration, () => {
        vid_cvcmrdwm9m_props.show = false
      })
    }
  }
)
// 处理 失败 全局消息
immediateWatch(
  () => vid_fwsr4lepna_props.show,
  () => {
    if (vid_fwsr4lepna_props.show) {
      message[vid_fwsr4lepna_props.type](vid_fwsr4lepna_props.content, vid_fwsr4lepna_props.duration, () => {
        vid_fwsr4lepna_props.show = false
      })
    }
  }
)



/* -------------------------- 表单数据同步 -------------------------- */
/* ========================== 表单数据同步 ========================== */

/* ========================== 数据关联处理 ========================== */


/* -------------------------- 不同组件自定义的处理逻辑 -------------------------- */
immediateWatch(
  () => l_jrk6ygirmy?.f_geglg1pc8y,
  () => {
    if (!!handle_vid_jpcljdshdc_change) {
      const options = (vid_jpcljdshdc_options?.value() || []).find((item) => item.value === l_jrk6ygirmy?.f_geglg1pc8y || item.label === l_jrk6ygirmy?.f_geglg1pc8y)
      // 重置了表单，这里重置下拉框
      handle_vid_jpcljdshdc_change(l_jrk6ygirmy?.f_geglg1pc8y, { ...options } || {})
    }
  }
)
immediateWatch(
  () => l_jrk6ygirmy?.t_mwr3fw2zmg,
  () => {
    if (!!handle_vid_9a70zjwnuq_change) {
      const options = (vid_9a70zjwnuq_options?.value() || []).find((item) => item.value === l_jrk6ygirmy?.t_mwr3fw2zmg || item.label === l_jrk6ygirmy?.t_mwr3fw2zmg)
      // 重置了表单，这里重置下拉框
      handle_vid_9a70zjwnuq_change(l_jrk6ygirmy?.t_mwr3fw2zmg, { ...options } || {})
    }
  }
)
immediateWatch(
  () => l_jrk6ygirmy?.f_vmnicsrkqn,
  () => {
    if (!!handle_vid_p6rzwl4c1f_change) {
      const options = (vid_p6rzwl4c1f_options?.value() || []).find((item) => item.value === l_jrk6ygirmy?.f_vmnicsrkqn || item.label === l_jrk6ygirmy?.f_vmnicsrkqn)
      // 重置了表单，这里重置下拉框
      handle_vid_p6rzwl4c1f_change(l_jrk6ygirmy?.f_vmnicsrkqn, { ...options } || {})
    }
  }
)
immediateWatch(
  () => l_jrk6ygirmy?.j_okp2kg3z97,
  () => {
    if (!!handle_vid_0eymfi3k2m_change) {
      const options = (vid_0eymfi3k2m_options?.value() || []).find((item) => item.value === l_jrk6ygirmy?.j_okp2kg3z97 || item.label === l_jrk6ygirmy?.j_okp2kg3z97)
      // 重置了表单，这里重置下拉框
      handle_vid_0eymfi3k2m_change(l_jrk6ygirmy?.j_okp2kg3z97, { ...options } || {})
    }
  }
)
immediateWatch(
  () => l_jrk6ygirmy?.participants,
  () => {
    if (!!handle_vid_s77p0uzo4i_change) {
      const options = (vid_s77p0uzo4i_options?.value() || []).find((item) => item.value === l_jrk6ygirmy?.participants || item.label === l_jrk6ygirmy?.participants)
      // 重置了表单，这里重置下拉框
      handle_vid_s77p0uzo4i_change(l_jrk6ygirmy?.participants, { ...options } || {})
    }
  }
)
immediateWatch(
  () => a_5ecyoey8ie?.n_up26b240gw,
  () => {
    if (!!handle_vid_4z5n9okpz4_change) {
      const options = (vid_4z5n9okpz4_options?.value() || []).find((item) => item.value === a_5ecyoey8ie?.n_up26b240gw || item.label === a_5ecyoey8ie?.n_up26b240gw)
      // 重置了表单，这里重置下拉框
      handle_vid_4z5n9okpz4_change(a_5ecyoey8ie?.n_up26b240gw, { ...options } || {})
    }
  }
)
immediateWatch(
  () => a_5ecyoey8ie?.k_5d92d7ug2y,
  () => {
    if (!!handle_vid_5kkvmqm6yw_change) {
      const options = (vid_5kkvmqm6yw_options?.value() || []).find((item) => item.value === a_5ecyoey8ie?.k_5d92d7ug2y || item.label === a_5ecyoey8ie?.k_5d92d7ug2y)
      // 重置了表单，这里重置下拉框
      handle_vid_5kkvmqm6yw_change(a_5ecyoey8ie?.k_5d92d7ug2y, { ...options } || {})
    }
  }
)
immediateWatch(
  () => a_5ecyoey8ie?.d_acgmyo9z5v,
  () => {
    if (!!handle_vid_u9xecuyesk_change) {
      const options = (vid_u9xecuyesk_options?.value() || []).find((item) => item.value === a_5ecyoey8ie?.d_acgmyo9z5v || item.label === a_5ecyoey8ie?.d_acgmyo9z5v)
      // 重置了表单，这里重置下拉框
      handle_vid_u9xecuyesk_change(a_5ecyoey8ie?.d_acgmyo9z5v, { ...options } || {})
    }
  }
)
immediateWatch(
  () => a_5ecyoey8ie?.o_sod2g0fh4d,
  () => {
    if (!!handle_vid_m8vk1sziu0_change) {
      const options = (vid_m8vk1sziu0_options?.value() || []).find((item) => item.value === a_5ecyoey8ie?.o_sod2g0fh4d || item.label === a_5ecyoey8ie?.o_sod2g0fh4d)
      // 重置了表单，这里重置下拉框
      handle_vid_m8vk1sziu0_change(a_5ecyoey8ie?.o_sod2g0fh4d, { ...options } || {})
    }
  }
)
immediateWatch(
  () => a_5ecyoey8ie?.q_96wi7nd3cd,
  () => {
    if (!!handle_vid_v7bvb8hcof_change) {
      const options = (vid_v7bvb8hcof_options?.value() || []).find((item) => item.value === a_5ecyoey8ie?.q_96wi7nd3cd || item.label === a_5ecyoey8ie?.q_96wi7nd3cd)
      // 重置了表单，这里重置下拉框
      handle_vid_v7bvb8hcof_change(a_5ecyoey8ie?.q_96wi7nd3cd, { ...options } || {})
    }
  }
)
immediateWatch(
  () => i_yujadol139?.l_952iz0g3bs,
  () => {
    if (!!handle_vid_vnzaljx3j0_change) {
      const options = (vid_vnzaljx3j0_options?.value() || []).find((item) => item.value === i_yujadol139?.l_952iz0g3bs || item.label === i_yujadol139?.l_952iz0g3bs)
      // 重置了表单，这里重置下拉框
      handle_vid_vnzaljx3j0_change(i_yujadol139?.l_952iz0g3bs, { ...options } || {})
    }
  }
)
immediateWatch(
  () => i_yujadol139?.y_swqiga20z8,
  () => {
    if (!!handle_vid_jizb7fpx2o_change) {
      const options = (vid_jizb7fpx2o_options?.value() || []).find((item) => item.value === i_yujadol139?.y_swqiga20z8 || item.label === i_yujadol139?.y_swqiga20z8)
      // 重置了表单，这里重置下拉框
      handle_vid_jizb7fpx2o_change(i_yujadol139?.y_swqiga20z8, { ...options } || {})
    }
  }
)
immediateWatch(
  () => i_yujadol139?.k_5x7sh544ga,
  () => {
    if (!!handle_vid_epi3u13aff_change) {
      const options = (vid_epi3u13aff_options?.value() || []).find((item) => item.value === i_yujadol139?.k_5x7sh544ga || item.label === i_yujadol139?.k_5x7sh544ga)
      // 重置了表单，这里重置下拉框
      handle_vid_epi3u13aff_change(i_yujadol139?.k_5x7sh544ga, { ...options } || {})
    }
  }
)
immediateWatch(
  () => i_yujadol139?.a_29in70vxh0,
  () => {
    if (!!handle_vid_ds8g5ya2b1_change) {
      const options = (vid_ds8g5ya2b1_options?.value() || []).find((item) => item.value === i_yujadol139?.a_29in70vxh0 || item.label === i_yujadol139?.a_29in70vxh0)
      // 重置了表单，这里重置下拉框
      handle_vid_ds8g5ya2b1_change(i_yujadol139?.a_29in70vxh0, { ...options } || {})
    }
  }
)
immediateWatch(
  () => i_yujadol139?.r_fcqwmshiua,
  () => {
    if (!!handle_vid_d62kbgxa80_change) {
      const options = (vid_d62kbgxa80_options?.value() || []).find((item) => item.value === i_yujadol139?.r_fcqwmshiua || item.label === i_yujadol139?.r_fcqwmshiua)
      // 重置了表单，这里重置下拉框
      handle_vid_d62kbgxa80_change(i_yujadol139?.r_fcqwmshiua, { ...options } || {})
    }
  }
)
// 生成表格列：相同分组的数据需要合并单元格
const vid_m1cncbs9ua_columns = computed(() => {
  // 需要合并单元格的列
  const groupKeys = [];
  const rawColumnList = [...vid_m1cncbs9ua_props.columnList];
  /*** PUBLISH_EXEGESIS ***
  // 获取缓存的表格列宽度，处理列宽信息
  UserTableRecords.getTableRecords(localGet('al__UID')).then((res) => {
    const columnWidthMap = res['vid_m1cncbs9ua'] ?? {};
    rawColumnList.map((column) => {
      if(columnWidthMap[column.dataIndex]) {
        column.width = columnWidthMap[column.dataIndex]
      }
    })
  });
  *** PUBLISH_EXEGESIS ***/
  // 将表头配置按照groupTitle字段进行分组，以实现多级表头
  const columnList = generatorGroupedColumnList(rawColumnList);

  function formatColumns(columnList) {
    columnList.forEach(item => {
      const { dataIndex, contentAlign, children, customCellStyle } = item;
      // 如果当前列是分组列，则递归处理它的子列，当前列本身不作处理
      if (!dataIndex && children && children.length) {
        formatColumns(children);
        return;
      }

      const groupIndex = groupKeys.findIndex(item => item === dataIndex);
      // 如果当前字段属于分组字段，则给它添加合并单元格的配置，否则直接返回
      if (groupIndex === -1) {
        item.customCell = (record, index) => {
          return { style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
        };
      } else {
        item.customCell = (record, index) => {
          const rowGroupKeys = groupKeys.slice(0, groupIndex + 1);
          const rowSpanList = generateRowSpanList(vid_m1cncbs9ua_options.value(), rowGroupKeys, vid_m1cncbs9ua_props.editRecordMap);
          return { rowSpan: rowSpanList[index], style: { 'text-align': contentAlign, ...(customCellStyle || {}) } };
        };
      }
    })
  }

  // 格式化column：增加合并单元格的配置，以及自定义样式
  formatColumns(columnList);

  return columnList;
});


// 表格分页器信息：将总条数信息加到基础分页信息中
const vid_m1cncbs9ua_pagination = computed(() => {
  const { totalNumber, rt_tableConfig } = vid_m1cncbs9ua_props;
  const {
    enable = true,
    current = 1,
    pageSize = 10,
    showSizeChanger = false,
    pageSizeOptions = '10,20,30,40',
    showTotal = false,
    showQuickJumper = false,
    simple = false,
    hideOnSinglePage = false,
  } = rt_tableConfig.pagination ?? {};
  const { size = 'default', layout = 'bottomRight' } = rt_tableConfig?.style?.paginationStyle || {}
  let info = {};
  if (enable) {
    info = {
      total: totalNumber || 0,
      pageSize,
      size,
      simple,
      current,
      showSizeChanger,
      pageSizeOptions: pageSizeOptions.split(','),
      showQuickJumper,
      hideOnSinglePage,
      position: [layout],
    }
    if (showTotal) {
      info.showTotal = (total, range) => `共${total}个项目，第${current}/${Math.ceil(total / pageSize)}页`
    }
    return info;
  }
  return false;
})
/**
* 生成分组字段合并单元格的配置：返回值为一个数字数组，数组里面每一项即为该字段当前行的rowSpan配置
* @param {Array} 表格中的数据
* @param {Array} 当前分组字段的列表，注：为了保证优先级低的字段合并后是优先级高的字段合并后的子集，需要把比该字段优先级高的分组字段按顺序放在该字段前面；例如：所有分组字段列表为['grade', 'age', 'score']，要生成age字段的合并单元格配置，则该参数需要传['grade', 'age']
* @returns {Array} 该字段合并单元格的rowSpan配置，例：[1, 1, 2, 0, 1]
*/
function generateRowSpanList(dataSource, groupKeys, editRecordMap) {
  if (!dataSource || !dataSource.length) {
    return [];
  }

  const rowSpanList = [];

  // 判断单元格是否需要合并的临时值：使用表格数据最后一行进行初始化（表格数据的遍历是倒序进行的）
  let tempValue = getGroupValue(dataSource[dataSource.length - 1], groupKeys);
  // 记录需要合并单元格的数量
  let tempValueCount = 0;

  // 倒序遍历数组，以保证使用最前面一条数据合并单元格
  for (let index = dataSource.length - 1; index >= 0; index--) {
    rowSpanList[index] = 0;
    const groupValue = getGroupValue(dataSource[index], groupKeys);
    // 如果当前行的分组数据跟上一行一致，则将标记数量加一；否则将标记数量的当前值赋给上一条数据，并重置临时值和标记数量
    if (editRecordMap && editRecordMap[index]) { //如果当前行是编辑行
      rowSpanList[index + 1] = tempValueCount;
      tempValue = "";
      tempValueCount = 1;
    }
    else if (groupValue === tempValue) {
      tempValueCount++;
    } else {
      rowSpanList[index + 1] = tempValueCount;
      tempValue = groupValue;
      tempValueCount = 1;
    }

    // 遍历到最后一行，将当前的标记数量赋给当前行
    if (index === 0) {
      rowSpanList[index] = tempValueCount;
    }
  }

  return rowSpanList;
}

/**
* 根据分组字段列表生成当前数据行的分组值
* @param {Object} 当前数据行
* @param {Array} 分组字段列表
* @returns {String} 拼装的当前数据行的分组值，例：record为{ age: 7, grade: '一年级', name: '小赵' }，groupKeys为['grade', 'age']，则拼装后的返回值为'一年级__$__7'
*/
function getGroupValue(record, groupKeys) {
  const groupValueList = [];
  groupKeys.forEach(groupKey => {
    groupValueList.push(`${record[groupKey]}`);
  });

  return groupValueList.join('__$__');
}

// 生成过长省略的样式
function textTruncate(width) {
  if (!width) {
    return {};
  }
  return {
    whiteSpace: 'nowrap',
    overflow: 'hidden',
    textOverflow: 'ellipsis',
    display: 'block',
    width: typeof (width) === 'number' ? width + 'px' : width
  }
}

/**
* 将列表数据转换成树状数据
* @param {Array} 原始的列表数据
* @param {String|Number} 列表数据的唯一key
* @param {String|Number} 列表数据转成树时的父级id
*/
function convertListToTree(list, key, parentKey) {
  const clonedList = cloneDeep(list || []);

  // 遍历列表数据，生成树节点的map：key为列表数据的唯一key，value为列表当前行的数据
  const treeNodeMap = {};
  clonedList.forEach(item => {
    treeNodeMap[item[key]] = item;
  });

  const treeDataList = [];
  clonedList.forEach(item => {
    // 如果当前行数据的父级id不在树节点的map中，则当前数据为根节点数据，将其加入最终树形数据的列表；否则将其放入其父节点数据的children中
    if (!treeNodeMap[item[parentKey]]) {
      treeDataList.push(item);
    } else {
      if (!treeNodeMap[item[parentKey]].children) {
        treeNodeMap[item[parentKey]].children = [];
      }
      treeNodeMap[item[parentKey]].children.push(item);
    }
  });

  return treeDataList;
}

/**
* 将原始的列配置列表，按照groupTitle的值进行分组，以实现多级表头
* @param rawColumnList 原始的列配置列表
*/
function generatorGroupedColumnList(rawColumnList) {
  // 生成分组表头的map：key为分组表头的名称，value为该分组下所有的column配置代码的字符串列表
  const groupColumnMap = {};
  rawColumnList.forEach((columnItem) => {
    if (!columnItem.groupTitle) {
      return;
    }

    if (!groupColumnMap[columnItem.groupTitle]) {
      groupColumnMap[columnItem.groupTitle] = [];
    }
    groupColumnMap[columnItem.groupTitle].push(columnItem);
  });

  const columnList = [];
  rawColumnList.forEach((columnItem) => {
    const { groupTitle } = columnItem;

    // 如果不存在分组字段，则使用原始的列配置
    if (!groupTitle) {
      columnList.push(columnItem);
      return;
    }

    // 如果存在分组表头，且该分组还没加入到列配置列表，则将其加入列配置列表，并将其从groupColumnMap中删除
    if (groupColumnMap[groupTitle]) {
      columnList.push({
        title: groupTitle,
        children: groupColumnMap[groupTitle],
      });

      delete groupColumnMap[groupTitle];
    }
  });

  return columnList;
}
/**
* 表格列宽伸缩处理，使用indexedDB缓存伸缩后的列宽度
*/
const handleResizeColumn = (w, col, vid) => {
  col.width = w;
  /*** PUBLISH_EXEGESIS ***
  UserTableRecords.saveTableRecords(col, localGet('al__UID'), vid)
  *** PUBLISH_EXEGESIS ***/
}
/* ========================== 不同组件自定义的处理逻辑 ========================== */


// ================================定制化逻辑========================================
const currentDate = new Date();
const currentYear = currentDate.getFullYear();
const currentMonth = currentDate.getMonth() + 1;
const formattedDate = `${currentYear}-${currentMonth.toString().padStart(2, "0")}`;
i_yujadol139.p_h4c5p9vodu = [formattedDate, formattedDate]


const isSingleSelection = ref(true)

const isDateEarlierThanCurrentMonth = dateString => {
  const currentDate = new Date()
  const date = new Date(dateString)
  return date < new Date(currentDate.getFullYear(), currentDate.getMonth())
}
const getCheckboxProps = record => ({
  disabled: isDateEarlierThanCurrentMonth(record.targetMonth)
})
vid_m1cncbs9ua_props.rowSelection = {
  onChange(selectedRowKeys, selectedRows) {
    if (selectedRows.length > 1) {
      isSingleSelection.value = false
    } else {
      isSingleSelection.value = true
      // 清空之前选中行的信息
      for (const key in vid_m1cncbs9ua_props.selectedRowList) {
        vid_m1cncbs9ua_props.selectedRowList[key] = []
      }
      // 将新选中行的信息加入selectedRowList
      if (selectedRows.length === 1) {
        let record = selectedRows[0]
        for (const key in vid_m1cncbs9ua_props.selectedRowList) {
          vid_m1cncbs9ua_props.selectedRowList[key].push(record[key])
        }
      }

    }
    console.log(isSingleSelection.value, '132')
  },
  getCheckboxProps
}

//导出
const downloadExcel = (response, name) => {
  const blob = new Blob([response], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' });
  const downloadElement = document.createElement('a');
  const href = window.URL.createObjectURL(blob);// 创建下载的链接
  downloadElement.href = href;
  downloadElement.download = name; // 下载后文件名
  document.body.appendChild(downloadElement);
  downloadElement.click(); // 点击下载
  document.body.removeChild(downloadElement); // 下载完成移除元素
  window.URL.revokeObjectURL(href);
  return href;
}

function downExcel() {
  post('/ppm/api/v2/built-in-system-ppm/pmgf/export', { monthQuery: i_yujadol139.p_h4c5p9vodu }, { responseType: 'arraybuffer', }).then(res => {
    downloadExcel(res, '导入模板.xlsx')
  })
}
</script>
<style lang="less" scoped>
.page_root {
  width: 100%;
  height: 100%;
  overflow: auto;
}

.page_root :deep(.@{ant-prefix}-spin-nested-loading),
.page_root :deep(.@{ant-prefix}-spin-container) {
  height: 100%;
}

.table-moreBtn_down {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100px;
}

.table-moreBtn_menu :deep(.table-moreBtn_menu-item):hover {
  background: #ebf1ff;
}

/*  表格树结构样式处理，展开按钮层级增加*/
:deep(.@{ant-prefix}-table-row-expand-icon) {
  z-index: 1;
}

/*  表格树结构 由于每个表格项采用自定义组件，使用绝对定位布局，开启树结构导致显示异常，暂时使用层级定位位置 */
:deep(.@{ant-prefix}-table-row-level-1 .ant-table-cell-with-append .cell-wrapper-left) {
  left: 15px !important;
  width: calc(100% - 15px);
}

:deep(.@{ant-prefix}-table-row-level-2 .ant-table-cell-with-append .cell-wrapper-left) {
  left: 30px !important;
  width: calc(100% - 30px);
}

:deep(.@{ant-prefix}-table-row-level-3 .ant-table-cell-with-append .cell-wrapper-left) {
  left: 45px !important;
  width: calc(100% - 45px);
}

:deep(.@{ant-prefix}-table-row-level-4 .ant-table-cell-with-append .cell-wrapper-left) {
  left: 60px !important;
  width: calc(100% - 60px);
}

/* 穿梭框改变默认样式，为根据组件样式控制左右栏宽度。 */
:deep(.@{ant-prefix}-transfer-list) {
  height: 100%;
  width: 50%;
}

.vid_2ekcxdcb76 {
  overflow-x: auto;
  overflow-y: auto
}

.vid_mgp450whgc {
  max-height: 600px;
  overflow-x: scroll;
  overflow-y: scroll
}

.vid_jpcljdshdc {
  width: 100%
}

.vid_9a70zjwnuq {
  width: 100%
}

.vid_45ibbu1dze {
  min-height: 60px;
  overflow-y: visible
}

.vid_p6rzwl4c1f {
  width: 100%
}

.vid_0eymfi3k2m {
  width: 100%
}

.vid_jvniwyfy5l {
  display: flex;
  flex-direction: column;
  flex-wrap: undefined
}

.vid_wewjashnba {
  height: 1px;
  background-color: rgba(217, 217, 217, 1)
}

.vid_co9mxu6ics {
  width: 100%;
  padding-top: 16px
}

.vid_roy69p291m {
  min-height: 60px
}

.vid_s77p0uzo4i {
  width: 100%
}

.vid_z07ex1ii8f {
  overflow-x: auto;
  overflow-y: auto
}

.vid_te77ow64kb {
  max-height: 600px;
  overflow-x: scroll;
  overflow-y: scroll
}

.vid_4z5n9okpz4 {
  width: 100%
}

.vid_5kkvmqm6yw {
  width: 100%
}

.vid_ya68y0awem {
  min-height: 60px;
  overflow-y: visible
}

.vid_u9xecuyesk {
  width: 100%
}

.vid_m8vk1sziu0 {
  width: 100%
}

.vid_dh9kd3vrpm {
  display: flex;
  flex-direction: column;
  flex-wrap: undefined
}

.vid_xi5c6ga49p {
  height: 1px;
  background-color: rgba(217, 217, 217, 1)
}

.vid_ws5db9i6gs {
  width: 100%;
  padding-top: 16px
}

.vid_gxffvalq7k {
  min-height: 60px
}

.vid_v7bvb8hcof {
  width: 100%
}

.vid_9k2usklhkx {
  height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: undefined
}

.vid_6fsugmexlx {
  width: 100%;
  box-shadow: 0px 0px 8px 0px #CCD7E9
}

.vid_g8ermbd51z {
  padding-top: 24px;
  padding-right: 24px;
  padding-left: 24px;
  background-color: rgba(255, 255, 255, 1)
}

.vid_idffc4r9aa {
  width: 100%
}

.vid_vnzaljx3j0 :deep(span) {
  cursor: undefined;
}

.vid_vnzaljx3j0 {
  width: 100%
}

.vid_prbahqiyzu {
  width: 100%
}

.vid_jizb7fpx2o :deep(span) {
  cursor: undefined;
}

.vid_jizb7fpx2o {
  width: 100%
}

.vid_epi3u13aff :deep(span) {
  cursor: undefined;
}

.vid_epi3u13aff {
  width: 100%
}

.vid_aaqbkqrexk :deep(input) {
  cursor: undefined;
}

.vid_aaqbkqrexk {
  width: 100%
}

.vid_a61pnkn2qp {
  padding-right: 24px;
  padding-left: 24px;
  background-color: rgba(255, 255, 255, 1)
}

.vid_6li8fsork4 {
  margin-left: 16px
}

.vid_ak6ftls9ik {
  margin-left: 16px
}

.vid_0kmsab24fi {
  width: 100%
}

.vid_ds8g5ya2b1 :deep(span) {
  cursor: undefined;
}

.vid_ds8g5ya2b1 {
  width: 100%
}

.vid_7bfxv85aep {
  width: 100%
}

.vid_d62kbgxa80 :deep(span) {
  cursor: undefined;
}

.vid_d62kbgxa80 {
  width: 100%
}

.vid_0vdspa1zv6 {
  width: 100%;
  height: 760px;
  overflow-x: auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: undefined;
  flex-grow: 1;
  flex-shrink: 1;
  margin-top: 16px;
  padding-right: 24px;
  padding-left: 24px;
  background-color: rgba(255, 255, 255, 1);
  box-shadow: 0px 0px 8px 0px #CCD7E9
}

.vid_z3oz84ld7a {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: undefined;
  padding-top: 16px;
  background-color: rgba(255, 255, 255, 1)
}

.vid_7ead2hx8yw {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  flex-wrap: undefined
}

.vid_8xrjmvnt6f {
  border-style: solid;
  border-width: 1px;
  border-color: #1890FF
}

.vid_jt2iwvkid9 {
  margin-right: 16px;
  margin-left: 16px;
  border-style: solid;
  border-width: 1px;
  border-color: #1890FF
}

.vid_jdpy1ke92p {
  margin-right: 16px;
  border-style: solid;
  border-width: 1px;
  border-color: #1890FF
}

.vid_4mzl42h1wj {
  border-style: solid;
  border-width: 1px;
  border-color: #1890FF
}

.vid_d5352qj0ud {
  display: flex;
  align-items: center;
  flex-wrap: undefined
}

.vid_dh28zsf4vv {
  padding-left: 8px;
  font-weight: 800;
  font-size: 16px;
  line-height: 16px;
  border-left-style: solid;
  border-left-width: 4px;
  border-left-color: #5A58EE
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-thead)>tr {
  height: 40px;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-thead)>tr>th {
  background: #3875FF;
  font-size: 14px;
  font-family: arial, helvetica, "microsoft yahei";
  ;
  font-weight: 600;
  color: #FFFFFF;
  border-bottom: 1px solid #D9D9D9;
  padding: 0 24px;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table>thead>tr:not(:last-child)>th {
  border-bottom: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table>thead>tr>th {
  border-right: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container {
  border-left: none;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table>thead>tr>th:first-child {
  border-left: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table {
  border-top: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-thead)>tr>th:not(:last-child):not(.@{ant-prefix}-table-selection-column):not(.@{ant-prefix}-table-row-expand-icon-cell):not([colspan])::before {
  background: #D9D9D9;
  width: 1px;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-cell-scrollbar) {
  box-shadow: none;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-tbody) tr {
  height: 40px;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-tbody) tr>td {
  font-size: 14px;
  font-family: arial, helvetica, "microsoft yahei";
  ;
  font-weight: 400;
  color: #262626;
  border-bottom: 1px solid #D9D9D9;
  padding: 0 24px;
  word-break: break-all;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-empty .@{ant-prefix}-table-tbody tr > td) {
  padding: 0;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-tbody) tr>td .@{ant-prefix}-btn {
  padding: 0 30px 0 0;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table-tbody) tr>td .@{ant-prefix}-btn:last-child {
  padding: 0;
}

.vid_m1cncbs9ua :deep(.table-striped-odd) td {
  background-color: #FFFFFF;
}

.vid_m1cncbs9ua :deep(.table-striped-even) td {
  background-color: #F8FAFC;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table>tbody>tr>td {
  border-right: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua :deep(.@{ant-prefix}-table.@{ant-prefix}-table-bordered)>.@{ant-prefix}-table-container>.@{ant-prefix}-table-content>table>tbody>tr>td:first-child {
  border-left: 1px solid #D9D9D9;
}

.vid_m1cncbs9ua {
  width: 100%;
  height: 100%;
  overflow-x: scroll;
  overflow-y: scroll;
  padding-top: 16px
}
</style>